一、简介
有一条聪明的小蛇在草地上正在玩耍。草地上有美味的食物、有智慧草,小蛇玩得很开心。可是同时草地上也危机四伏,有地雷和会突然同时出现多个的毒草。可是小蛇非常聪明,每次它们都能逢凶化吉、遇难成祥。
二、 设计要求
1、在打开程序后,出现选择界面,里面包含难度(关卡)选择和退出功能,其中难度选择能够是程序出现相应的游戏难度,要求至少有三种。难度与以下因素相关:
1)蛇的运动速度:难度越高,速度越快;
2)地图不同:地图的边界可以不规则,难度越高,边界的变化越多; 3)地雷和毒草的个数不同:难度越高,个数越多;
2、开始游戏后,上下左右方向键控制小蛇的移动方向,小蛇的运动方式有两种选择。 1)
小蛇可以向上下左右移动,但是当小蛇向一个方向移动时,不能立刻向反方向移动。如小蛇正在向右移动,则必须向下或上移动一段后才能向左移动。 2)
*小蛇可以360度转动。
3、小蛇撞到不同的东西会有不同的命运。
1)美味的食物:吃到一个食物后,身体随之增加一个单位长度;
2)*智慧草:智慧草每次出现一根,一段时间后消失。吃到智慧草后,小蛇无需控制可自动运动一段时间;
3)地雷:小蛇踩到地雷会被炸掉一半,如果它当时身体的长度只有一节则会被炸死;
4)毒草:毒草每次出现多根,*保持闪烁状,一段时间后全部消失。小蛇吃
到毒草后,身体随之减少一个单位长度。 4、小蛇撞到墙时会死。
5、当贪吃蛇身体长度达到一定时,游戏胜利可进入下一关卡,如果通过了最后一关则游戏胜利。
6、需要对游戏情况进行计分,计分规则可自行拟定。 7、提供排行榜功能,将游戏得分记载到排行榜文件中。
8、提供进度保存功能,即中断游戏时可保存当前游戏状态,且要求将状态保存到文件中。至少要保存进入到哪一关,得分多少。*另外可保存当时的游戏场景。
9、*可以将地图保存在文件中,并且让用户选择地图开始游戏。 10、
界面美观,使用方便。*最好用图形界面。
说明:以上标*的部分为选做部分。 三、 所需数据结构分析
要求蛇必须采取数据结构1,功能键选择2中所示键,其余数据结构仅供参考。 1、 蛇数据结构
struct snake{/*************蛇结构体**************/ char x; char y;
struct snake *previous;/*前*/ struct snake *next; }*head,*tail; 2、 功能键的键值 #define LEFT 0x4B00 #define RIGHT 0x4D00 #define UP 0x4800 #define DOWN 0x5000 #define ESC 0x011B #define ENTER 0x1C0D
因篇幅问题不能全部显示,请点此查看更多更全内容