我的思路是用数组把游戏每时每刻的状态记录下来(记录蛇身,食物及围墙的位置)。
先写3个类3个类的功能如下
1class weiqiang//围墙类 ,这个类中的数据包括一个二维数组(这个数组要记录蛇身,食物,及围墙的位置),且这个类中的数据都为公用的(这样做的目的是为了让后边其它类中的函数可以直接访问),该类中包含两个函数,第一个void chushihua();//初始化墙, 第二个函数void dayin();//打印函数 (打印蛇,墙,食物等)
2.class she//蛇类 ,该类作用主要是对蛇头和蛇尾进行处理,详细情况见上文源代码及代码中的注释(因为叙述太麻烦了,所以这里就不详细叙述)
3.class yundong//蛇运动类,类中的函数有void panduan();//判断函数 判断蛇吃食,撞墙,咬身void gaibian_m(char d); //改变蛇的运动方向,m是枚举变量;void shengshi();//产生食物函数 int shengshi1(int x1,int y1);// 判断食物是否在蛇身上 public://公用数据 dir m; //枚举变量m: 控制方向;int f_x;//食物的横坐标
int f_y;int N;//记录分数
主函数
先设法把游戏的初始状态打印出来,
接着进入死循环,循环体如下
0
293
4KB
2019-12-24
25