用C++写一个贪吃蛇代码
时间: 2023-03-13 07:28:47 浏览: 79
我可以给你一个简单的示例: #include <stdio.h>
#define MAX_SIZE 10
// 定义蛇的结构
typedef struct
{
int x;
int y;
} Snake;
int main()
{
int x, y, i;
// 初始化蛇的长度
int snakeLength = 3;
// 定义蛇的头位置
Snake head = {0,0};
// 定义蛇的尾位置
Snake tail = {2,0};
// 定义蛇的身体
Snake body[MAX_SIZE];
// 初始化蛇的身体
for (i = 0; i < snakeLength; i++)
{
body[i].x = i;
body[i].y = 0;
}
// 定义蛇的方向
int direction = 2;
// 判断蛇是否在移动
int isMoving = 1;
// 循环移动蛇
while (isMoving == 1)
{
// 根据蛇的方向移动
switch (direction)
{
case 0: // 向上移动
x = head.x;
y = head.y - 1;
break;
case 1: // 向右移动
x = head.x + 1;
y = head.y;
break;
case 2: // 向下移动
x = head.x;
y = head.y + 1;
break;
case 3: // 向左移动
x = head.x - 1;
y = head.y;
break;
}
// 更新蛇的头位置
head.x = x;
head.y = y;
// 更新蛇的身体
for (i = 0; i < snakeLength - 1; i++)
{
body[i].x = body[i + 1].x;
body[i].y = body[i + 1].y;
}
body[snakeLength - 1].x = x;
body[snakeLength - 1].y = y;
// 更新蛇的尾位置
tail.x = body[0].x;
tail.y = body[0].y;
// 判断蛇是否结束移动
isMoving = 0;
}
return 0;
}
阅读全文