
贪吃蛇游戏是一个经典小游戏 ,一条蛇在封闭围墙里 ,围墙里随机出现一个
食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则
食物被吃掉,蛇身体长一节,同时记 10 分,接着又出现食物,等待蛇来吃,如果蛇
在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束.
一个游戏要有开始部分,运行部分,结束部分〔实际上开始部分与运行部分是
一体的〕.
这个程序的关键是表示蛇的图形以与蛇的移动.用一个小矩形表示蛇的一节
身体,身体每长一节,增加一个矩形块,蛇头用两节表示.移动时必须从蛇头开始,
所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头.如果不按任何键,蛇自行
在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一
步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随
着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇 ,这时由于没有庆平的原
因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将
蛇的最后一节用背景色覆盖.食物的出现和消失也是画矩形块和覆盖矩形块
2.2 数据结构设计与用法说明
游戏是运行在图形模式下的 ,所以第一步一定是初始化图形模式 ,接着要有
开始的界面,就像书有封面一样,我设置了一个游戏的标题画面,除了游戏标题画
面我还设置了一个欢迎画面.标题画面以后,还要为游戏的运行部分作初始化,包
括绘制游戏运行时的背景,对游戏某些重 要变量的初始化.
作为游戏的核心部分,这里包括的函数比较多,也就是模块比较多,首先让我
模拟一下贪吃蛇的游戏模式:某个世界上突然出现一条蛇,它很短,它的运动神经
异常,它没法停止自己的多动症在它的世界里就只有食物,它很饿,也很贪吃;同
样在不明原因的情况下,食物从天而降,可惜的是没有落到嘴边;饥饿的主人公,
不管它有没有毒,也不问食物的来历,径直向食物爬去;它吃到食物啦,它超出想
象的同化能力让食物很快的成为自己身体的一部分 ,它的身子变长啦 .当它吃到
第一颗食物时 ,上帝有给它第二颗 ,于是它吃了第二颗 ,于是又变长了 ,于是又有
第三颗……它的身子是一直的加长 ,它不管自己过长身体的麻烦——转身不便 ,
继续吃下去,现在它是直接把巴 X 大,好让食物有个绿色通道.但是在某天的下午,
它咬到了自己,它才想起自己是一条毒蛇,于是晕死过去〔不是毒死〕;又或者它
往食物冲锋的时候,它失去控制,撞到了墙上.
第一轮循环:第一步,出现食物;第二步,蛇不停运动;第三步,检查蛇是撞
到自己或墙壁;由第四步起游戏有两条支线〔A、B〕:
A :第四步,蛇没有碰到自己或墙壁 ,蛇继续前进,绘制蛇的动作;第五步 ,
判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来的食物消失;第六步,让玩
家输入控制指令,让蛇在下一轮循环的第二步改变运动方向;第七步,第二轮循环
的第一步,重复第一轮的步骤;