c语言大鱼吃小鱼游戏代码
时间: 2023-08-06 08:08:10 浏览: 1144
以下是一个简单的C语言代码示例,实现了一个大鱼吃小鱼游戏:
```c
#include <stdio.h>
#include <conio.h>
#include <windows>
#define WIDTH 40
#define HEIGHT 20
int x, y; // 大鱼的坐标
int sx, sy; // 小鱼的坐标
int score; // 分数
void gotoxy(int x, int y) {
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle, pos);
}
void drawFish() {
gotoxy(x, y);
printf("<°)))><");
}
void drawSmallFish() {
gotoxy(sx, sy);
printf("~");
}
void updateScore() {
gotoxy(0, HEIGHT + 1);
printf("Score: %d", score);
}
void moveFish() {
if (_kbhit()) {
switch (_getch()) {
case 'w':
y--;
break;
case 's':
y++;
break;
case 'a':
x--;
break;
case 'd':
x++;
break;
}
}
}
int main() {
x = WIDTH / 2;
y = HEIGHT / 2;
sx = rand() % WIDTH;
sy = rand() % HEIGHT;
score = 0;
while (1) {
system("cls"); // 清空屏幕
drawFish();
drawSmallFish();
updateScore();
moveFish();
if (x == sx && y == sy) {
score++;
sx = rand() % WIDTH;
sy = rand() % HEIGHT;
}
Sleep(100); // 控制游戏速度,单位是毫秒
}
return 0;
}
```
这个代码实现了一个大鱼吃小鱼的简单游戏。游戏中,大鱼用"<°)))><"表示,小鱼用"~"表示。玩家可以使用"w"、"s"、"a"、"d"分别控制大鱼上、下、左、右移动。当大鱼和小鱼的坐标重合时,分数加1,并随机生成一个新的小鱼。游戏会不断循环进行,直到玩家主动停止游戏。
请注意,这只是一个简化的示例,游戏逻辑和交互可以根据需要进行扩展和调整。
阅读全文