能否提供一份用C语言编写的贪吃蛇游戏的源代码示例?
时间: 2024-12-18 16:20:13 浏览: 15
贪吃蛇,人事管理系统,学生信息管理系统,图书借阅管理系统(c语言源代码,带注释,已调试好)
4星 · 用户满意度95%
贪吃蛇是一个经典的计算机游戏,使用C语言编写完整的源代码会比较长,这里我会给出一个简化的版本以帮助你入门。请注意这只是一个基础的框架,完整的游戏还需要添加更多细节,如碰撞检测、游戏循环等。
```c
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define蛇身长度 5
typedef struct {
int x, y; // 蛇的位置
} Snake;
Snake snake[蛇身长度];
int score = 0;
void moveSnake() {
for (int i = snake身长度 - 1; i > 0; i--) {
snake[i].x = snake[i - 1].x;
snake[i].y = snake[i - 1].y;
}
snake[0].x += 1; // 向右移动
}
// 上下左右移动的函数可以类似地定义
void drawGame() {
for (int i = 0; i < 蛇身长度; i++) {
printf(" * ");
}
printf("\n");
}
int main() {
initSnake(); // 初始化蛇的位置
while (true) {
moveSnake();
if (snake[0].x == 20 && snake[0].y == 10) { // 撞到边界
printf("Game Over\n");
break;
}
drawGame();
// 检查是否吃到食物并增加分数
if (snake[0].x == food.x && snake[0].y == food.y) {
++score;
// 更新食物位置
food.x = rand() % 20 + 1;
food.y = rand() % 20 + 1;
}
_getch(); // 等待按键
}
return 0;
}
struct Food {
int x, y;
};
Food food = {4, 4}; // 食物初始位置
void initSnake() {
snake[0].x = 10; // 起始位置
snake[0].y = 10;
// 其他蛇的位置设定...
}
```
阅读全文