我想要一个能在visual平台的编译环境是C语言环境上运行的贪吃蛇C语言程序
时间: 2023-11-24 22:06:02 浏览: 72
好的,以下是一个简单的贪吃蛇游戏的C语言程序,可以在Visual Studio中编译并运行:
```c
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#define WIDTH 20
#define HEIGHT 20
int snakeX[100], snakeY[100];
int len = 3;
int foodX, foodY;
int score = 0;
int gameOver = 0;
void init() {
snakeX[0] = WIDTH / 2;
snakeY[0] = HEIGHT / 2;
for (int i = 1; i < len; i++) {
snakeX[i] = snakeX[i - 1] - 1;
snakeY[i] = snakeY[i - 1];
}
foodX = rand() % WIDTH;
foodY = rand() % HEIGHT;
}
void draw() {
system("cls");
for (int i = 0; i < WIDTH + 2; i++) {
printf("#");
}
printf("\n");
for (int i = 0; i < HEIGHT; i++) {
printf("#");
for (int j = 0; j < WIDTH; j++) {
if (i == snakeY[0] && j == snakeX[0]) {
printf("O");
} else if (i == foodY && j == foodX) {
printf("F");
} else {
int flag = 0;
for (int k = 1; k < len; k++) {
if (i == snakeY[k] && j == snakeX[k]) {
printf("o");
flag = 1;
break;
}
}
if (!flag) {
printf(" ");
}
}
}
printf("#\n");
}
for (int i = 0; i < WIDTH + 2; i++) {
printf("#");
}
printf("\n");
printf("Score: %d\n", score);
}
void input() {
if (_kbhit()) {
char key = _getch();
switch (key) {
case 'w':
if (snakeY[0] > 0) {
snakeY[0]--;
}
break;
case 's':
if (snakeY[0] < HEIGHT - 1) {
snakeY[0]++;
}
break;
case 'a':
if (snakeX[0] > 0) {
snakeX[0]--;
}
break;
case 'd':
if (snakeX[0] < WIDTH - 1) {
snakeX[0]++;
}
break;
default:
break;
}
}
}
void update() {
if (snakeX[0] == foodX && snakeY[0] == foodY) {
len++;
score++;
foodX = rand() % WIDTH;
foodY = rand() % HEIGHT;
}
for (int i = len - 1; i > 0; i--) {
snakeX[i] = snakeX[i - 1];
snakeY[i] = snakeY[i - 1];
}
for (int i = 1; i < len; i++) {
if (snakeX[0] == snakeX[i] && snakeY[0] == snakeY[i]) {
gameOver = 1;
break;
}
}
if (snakeX[0] < 0 || snakeX[0] >= WIDTH || snakeY[0] < 0 || snakeY[0] >= HEIGHT) {
gameOver = 1;
}
}
int main() {
init();
while (!gameOver) {
draw();
input();
update();
Sleep(100);
}
printf("Game Over! Score: %d\n", score);
return 0;
}
```
这个程序使用了Windows API中的`Sleep()`函数来控制蛇的移动速度,所以需要在程序开头包含`windows.h`头文件。你可以在Visual Studio中创建一个新的C语言控制台项目,将这段代码粘贴进去,然后编译并运行。
阅读全文
相关推荐
















