使用C++写个贪吃蛇
时间: 2023-02-19 08:09:27 浏览: 11
好的。下面是使用 C 语言编写的贪吃蛇的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
// 定义地图的大小
#define WIDTH 20
#define HEIGHT 20
// 定义方向常量
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
// 定义蛇的结构体
typedef struct
{
int x;
int y;
} Snake;
// 地图数组
char map[HEIGHT][WIDTH];
// 蛇的数组和长度
Snake snake[100];
int snakeLength;
// 食物的位置
int foodX;
int foodY;
// 当前方向
int currentDirection;
// 随机函数
int random(int min, int max)
{
return min + rand() % (max - min + 1);
}
// 初始化地图
void initMap()
{
int i, j;
for (i = 0; i < HEIGHT; i++)
{
for (j = 0; j < WIDTH; j++)
{
if (i == 0 || i == HEIGHT - 1 || j == 0 || j == WIDTH - 1)
{
map[i][j] = '#';
}
else
{
map[i][j] = ' ';
}
}
}
}
// 初始化蛇
void initSnake()
{
snakeLength = 1;
snake[0].x = WIDTH / 2;
snake[0].y = HEIGHT / 2;
}
// 初始化食物
void initFood()
{
foodX = random(1, WIDTH - 2);
foodY = random(1, HEIGHT - 2);
map[foodY][foodX] = '@';
}
// 更新地图
void updateMap()
{
int i, j;
for (i = 0; i < HEIGHT; i++)
{
for (j = 0; j < WIDTH; j++)
{
if (i == 0 || i == HEIGHT - 1 || j == 0 || j == WIDTH - 1)
{
map[i][j] = '#';
}
else if (i == foodY && j == foodX)
{
map[i][j] = '@';
}
else
{
map[i][j] = ' ';
}
}
}
for (
阅读全文