在dos环境下c语言编程编一个贪吃蛇游戏


在dos环境下c语言编程编一个贪吃蛇游戏

文章插图
程序设计及说明1、边墙(Wall) 该类规定游戏的范围大小 。2、蛇类(Snake) 用该类生成一个实例蛇snake 。3、移动(Move) 该类用于实现对蛇的操作控制,即蛇头方向的上下左右的移动操作 。4、食物类(Food) 该类是游戏过程中食物随机产生的控制和显示 。5、判断死亡(Dead) 该类是对游戏过程中判断玩家操作是否导致蛇的死亡,其中包括蛇头咬食自己身体和蛇头是否触及游戏“边墙” 。6、蛇结点(SnakeNode) 该类是蛇吃下随机产生的食物从而增加长度的控制类,其中包括蛇长度增加和尾部的变化 。7、计分统计(Score) 该类由于玩家的游戏成绩记录,及游戏结束时的得分输出 。... 部分函数及说明1.Char menu(); /*用于玩家选择的游戏速度,返回一个char值*/ 2.DELAY(char ch1); /*用于控制游戏速度*/ 3.void drawmap(); /*绘制游戏地图函数* 4、void menu() /*游戏帮助信息的输出* ... 部分类细节解说1、蛇的构建 —Snake class Snake{ public: int x[n];int y[n]; int node; //蛇身长度int direction;//蛇运动方向int life;//蛇生命,判断死亡 }2、随机食物Food 利用rand()函数进行随机数产生,然后就行坐标定位 void Food(void){ ... int pos_x = 0; int pos_y = 0; pos_x = rand() % length;//x坐标的确定 pos_y = rand() % (width-1);//y坐标的确定 ... }3、蛇头方向确定 利用switch语句进行方向确定... switch(){ case VK_UP:{ OutChar2.Y--; y--; break; } case VK_LEFT:{ OutChar2.Y++; y++; break; } case VK_DOWN:{ OutChar2.X---; x--; break; } case 'VK_RIGHT:{ OutChar2.X++; x++; break; } } 代码#include #include#include #include #include using namespace std; int score=0,t=300,f=1;//得分与时间间隔/ms(控制贪吃蛇的速度) double ss=0,tt=0;//统计时间所用参数 class Node { Node(): x(0), y(0), prior(0), next(0) { } int x; int y; Node *prior; Node *next; friend class Snake; }; class Snake { public: Snake(); ~Snake(); void output(); void move(); void change_point(char); private: Node *head; Node *tail; enum p{ UP, RIGHT, DOWN, LEFT }point; //方向int food_x, food_y; //食物的坐标static const int N = 23; int game[N][N]; void add_head(int, int); //添加坐标为a,b的结点void delete_tail(); //删除最后一个结点void greate_food(); //产生食物void gotoxy(int, int); }; void menu(); //游戏操作菜单int main() { system("color a"); //初始cmd窗口颜色为黑(背景)淡绿(文字) cout<<"\n\n\n\n\n\n "; for(int i=0;i<23;i++) {char star[]={"Welcome To Snake Game!"}; cout<【在dos环境下c语言编程编一个贪吃蛇游戏】

    推荐阅读