1、信息技术学院本科课程设计报告信息技术学院本科课程设计报告 课程设计题目课程设计题目 学 生 姓 名: 学 院: 信息技术学院 专 业: 信息管理与信息系统 班 级: 学 号: 指 导 教 师: 完 成 日 期: 一、 题目(问题)描述 贪吃蛇小游戏程序设计 图 1 贪吃蛇系统界面 二、 功能分析 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个 食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物, 则食物被吃掉,蛇身体长一节,同时记 10 分,接着又出现食物,等待蛇来吃, 如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 三、 系统设计 1 程序总体
2、结构程序总体结构 图 2 贪吃蛇程序系统的构图 2界面设计界面设计 如图,通过 W、S、A、D、space 键进行操作 3输入方式设计输入方式设计 A 用 W、S、A、D、键控制蛇的上下左右移动,space 键停止,esc 键结束。 B 游戏目标:操纵屏幕上那条可爱的小蛇,在方框中不停吃豆豆,而每吃一个豆 豆,蛇的身体都变的更长一些,即增加一颗星星。游戏的难度也会随之加大。 C 游戏终止:终止条件 1蛇头撞到墙上;终止条件 2蛇身形成一个圈,也就是蛇头 碰到自身的任何一处 4重要数据的数据结构设计重要数据的数据结构设计 5函数设计函数设计 6函数函数调用图调用图 7. 实体属性图实体属性图 四
3、、 关键技术、难点及其解决方法 五、 测试方法 六、 总结 附录 1 程序源代码 #include #include #include #include #include #include #define N 21 int apple3; char score3; char tail3; void gotoxy(int x, int y) /输出坐标 COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); void color(int b) /颜色函数 HA
4、NDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE) ; SetConsoleTextAttribute(hConsole,b) ; int Block(char head2) /判断出界 if (head0 N) | (head1 N) return 1; return 0; int Eat(char snake2) /吃了苹果 if (snake0 = apple0) gotoxy(N+44,10); color(13); printf(“%d“,score0*10); color(11); return 1; return 0; void Draw(char *snake,