好的。下面是使用 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 (