贪吃蛇游戏设计具体教程全解析

    作者:课课家教育更新于: 2016-04-03 09:50:24

      用上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。贪吃蛇作为一款经典的小游戏很受大众喜爱,游戏制作的精细度和画面的质量也随着版本的提高而不断提高,那么贪吃蛇是怎么制作出来的呢,我们一起来探究一下。

          1、需求分析

      使用键盘的上下左右,来控制蛇的运动方向,ESC键退出,并显示得分。

      2、系统分析和设计

      2.1数据结构的设计和选择的理由

      本游戏中涉及的主要数据结构是如何表示运动的蛇、食物状态等问题。

      2.1.1从游戏参考画面中我们可以看到,贪吃蛇的身体是一节节的,由一个个大小相同的方块组成,那么我们可以用一个(x,y)坐标为左上角的、固定宽度的正方形来表示一节蛇身。为表示连续的多节身体,那么我们可以采用数组(或链表,或线性表)等数据结构来表示。下面以数组方式为例:

      贪吃蛇是在不断的运动的,我们研究蛇的运动可以发现这样的特点:

      1.蛇头由键盘控制,键盘不操作时,保持原有方向运动;(用intdirection;表示)

      2.运动时,蛇身后面一节移动到前面一节的位置。当我们用nodes[0]表示蛇头的时候,nodes[1]运动到nodes[0]处;nodes[2]运动到nodes[1]处...。

      3.吃到一个食物以后,蛇身会增加一节。即该数组中的有效数据个数加一。(用intlength;表示)

      根据上面的情况,我们可以设计蛇的数据结构如下:

      2.1.2关于食物,有两个属性:

      1.坐标位置

      2.状态:存在,或被吃。

      故我们用以下结构表示:

      2.2系统模块划分和模块结构

      2.3流程图

      2.4数据类型、全局变量和函数说明

      2.4.1数据类型

      2.4.2全局变量

      2.4.3函数说明

      3、程序测试和运行结果

      ----------------------------------------------------------------------------选择速度开始或退出

      ----------------------------------------------------------------------------------------游戏运行中

      --------------------------------------------------------------------------------------------------------游戏结束

      4、课程报告小结

      【遇到的问题及解决方法分析等】

      4.1分数重叠显示

      解决方法:每次都用一块黑的矩形覆盖

      4.2速度太快

      解决方法:循环delay

      

      4.3食物可能出现在蛇身上

      解决方法:依次判断,若重叠则重新生成食物

        5、程序源代码如下:

课课家教育

未登录

1