功能包含

  1. 上,下,左,右键控制蛇移动的方向。
  2. 和上一次移动方向相反的方向应该忽略。这样可以防止蛇从自己的身体中穿过。
  3. ①食物随机出现,且一次只能出现一个食物。吃到食物,②蛇身体长一节,③得分5.

二、游戏结束条件

  1. 蛇头尾碰在一起
  2. 蛇头碰墙

程序流程图

图片1.png


--------------分割----------

那么现在来试着依照这个流程图写出伪代码

···额这种事怎么可能一下子总之种子就想得出来的啦,还是先看一下源代码的操作。

将源代码缩略后,大致可以看出整个程序由三个模块构成。

struct position
{
    int x,y;
}food;
struct Snake
{
    struct position body[N];
    int node;//蛇的节数。
    char direction;//蛇自动运动的方向。
}snake;
int isfood=1;
int islife=1;
int score=0;
int main()
{

在main函数前面还设定了两个结构体函数:
①位置
②蛇的身子

struct Snake
{
    struct position body[N];
    int node;//蛇的节数。
    char direction;//蛇自动运动的方向。
}snake;

然后想分析一下头文件,首先注意到的是<windows.h>这个头文件,以前都没有见到过,但是百度了一下并没有什么解释,所以只能先认为只是用来进行清屏的一个头文件

define 



//I

//P

//O

贪吃蛇作业

1.看懂源代码,增加其功能。
(1)增加游戏进入功能

【A】就是新增一个页面

(2)增加游戏暂停功能

【A】按下键“P”的时候实现暂停

  • 加入功能键 P
  • 加入暂停功能

暂停功能的实现:蛇不动

(3)增加游戏随时可以退出功能

【A】 增加一个功能,可以直接跳转到结束(或者game over?)

(4)扩大地图

【A】 围墙是用map字符('■')数组来实现的,所以调整地图大小只要调整map字符数组的大小就可以了。

标签: 课程设计

添加新评论