贪吃蛇设计思路(共4页).doc
精选优质文档-倾情为你奉上贪吃蛇游戏的开发与设计一、需求分析1功能需求(1)控制游戏:按方向键"W","S","A","D"能控制蛇的移动; (2)蛇在固定的范围内移动,不能撞到自身,否则,游戏结束。 (3)固定范围内随机出现食物,蛇每吃一个白子长长一格,长度增加。2非功能需求(1)界面友好,图形界面,方便玩家使用;(2)具有较好的容错能力,玩家在游戏过程中,除了规定的按键外,其他按键均忽略。3游戏界面专心-专注-专业二、系统设计1.游戏思路载入游戏并初始化 否判断游戏是否开始帮助是移动蛇(初始时向右移动)弹出游戏说明对话框定时器启动根据键盘控制蛇移动方向 否判断蛇是否吃到食物是随机生成下一个食物判断蛇头坐标和自身或者墙坐标是否重合否是游戏结束显示游戏时间和分数贪吃蛇游戏核心算法的设计与实现主游戏类的设计主游戏类主要负责贪吃蛇及果实的显示和更新。1.果实出现的设计思路(1) 采用随机数生成果实出现坐标。(2) 判断当前生成的果实是否在贪吃蛇的身体范围内。(3) 如果在,重新生成知道不在为止。如果不在,则把坐标位置返回给调用对象。2.贪吃蛇更新的设计思路(1) 接受玩家按下的方向键消息,并保存到方向向量中。(2) 定义一个时间定时器。(3) 当每次时间间隔到达时,则根据方向变量来更新贪吃蛇BODY向量。(4) 判断BODY向量的第一个元素的坐标数是否碰到边界或者蛇身,如果有,转到第(7)步。(5) 判断BODY向量的第一个元素中的坐标数据是否与当前果实坐标重合,如果有,表示贪吃蛇已经吃到果实。这时就像贪吃蛇BODY向量添加一个元素,并重新生成一个果实。(6) 重绘整个贪吃蛇界面及果实。重复前面步骤(1)(6)。(7) 游戏结束时,计算当前游戏得分,并显示游戏所用时间。3.主游戏类的实现主游戏类声明中包含了绘制蛇函数、初始化游戏函数、随机分配果实函数等函数的声明。