21xrx.com
2024-11-22 10:12:37 Friday
登录
文章检索 我的文章 写文章
简单易懂的贪吃蛇游戏代码
2023-06-30 20:18:05 深夜i     --     --
C++ 贪吃蛇 源代码 简单易懂 游戏代码

贪吃蛇一直以来都是经典的游戏,许多人也都想学习做一个贪吃蛇游戏来尝试一下。今天,我们就来分享一个简单易懂的C++贪吃蛇源代码。

这个贪吃蛇游戏使用了图形界面和键盘控制,基于Dev C++开发环境,代码结构清晰易懂,非常适合初学者学习掌握。

首先,我们需要定义出贪吃蛇的各种属性,包括贪吃蛇的位置、身体长度、查询方向等等。具体代码如下:


typedef struct Snake y;           // 贪吃蛇的位置

  char ch;           // 贪吃蛇的外观形式

SNAKE;             

SNAKE snake[100];         // 贪吃蛇的身体

int head, tail;          // 贪吃蛇的头尾

int lenth;            // 贪吃蛇的身体长度

int direction;          // 贪吃蛇前进的方向 

bool game_over = false;      // 判断游戏是否结束  

这里我们定义了贪吃蛇的结构体,包含了贪吃蛇的位置和外观形式,以及使用数组形式将整个贪吃蛇的身体存储起来。同时利用头尾指针来控制贪吃蛇的移动,并记录贪吃蛇当前的前进方向。

接着,我们需要初始化贪吃蛇的位置和身体长度,以及食物的位置。具体代码如下:


void init(){

  lenth = 3;          // 初始化贪吃蛇身体长度

  snake[0].x = 5;        // 初始化贪吃蛇头部位置

  snake[0].y = 5;

  snake[1].x = 5;        // 初始化贪吃蛇第一节身体位置

  snake[1].y = 6;

  snake[2].x = 5;        // 初始化贪吃蛇第二节身体位置

  snake[2].y = 7;

  snake[0].ch = '@';      // 设定贪吃蛇头部的外观形式

  for (int i = 1; i < lenth; i++){

    snake[i].ch = '#';    // 设定贪吃蛇身体的外观形式

  }

  food_x = rand() % 20;     // 食物的横坐标位置,随机生成

  food_y = rand() % 20;     // 食物的纵坐标位置,随机生成

}

在这里我们将贪吃蛇的身体长度设置为3,初始化贪吃蛇的位置和身体,以及外观形式。此外我们还需要随机给贪吃蛇生成一个食物的位置。

之后就是我们最想要看到的部分,贪吃蛇如何移动。具体代码如下:


void move(){

  tail = (tail + 1) % 100;        // tail指向最后一节身体的下一个位置

  snake[tail].x = snake[head].x + dx[direction];   // 身体的位置更新

  snake[tail].y = snake[head].y + dy[direction];

  snake[tail].ch = '#';

  if (snake[tail].x == food_x && snake[tail].y == food_y){ // 判断是否可以吃到食物

    lenth++;                   // 贪吃蛇长度加一

    food_x = rand() % 20;             // 随机生成新的食物坐标

    food_y = rand() % 20;

  }

  head = tail;                   // 头指针指向tail,达到身体移动的目的

  for (int i = 1; i < lenth; i++){

    if (snake[0].x == snake[i].x && snake[0].y == snake[i].y) // 判断是否碰到身体

      game_over = true;

    

  }

}

首先我们利用函数move将贪吃蛇身体的移动和食物的判断合并在一起,这样写起来更加的简货易懂。利用tail指向最后一节身体的下一个位置,并根据当前方向进行更新。判断贪吃蛇是否吃到了食物,然后进行长度更新,并重新生成新的食物坐标。最后通过head指向tail来达到贪吃蛇身体移动的目的,并判断是否碰到了身体。

以上就是我们的C++贪吃蛇源代码,简单易懂,适合初学者学习。希望大家能喜欢并从中得到收获!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复