用c语言写一个纸飞机大战的代码
时间: 2023-05-18 20:03:59 浏览: 172
c语言飞机大战源代码.pdf
5星 · 资源好评率100%
非常感谢您的提问,以下是一个简单的纸飞机大战的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define WIDTH 80
#define HEIGHT 20
int main() {
char map[HEIGHT][WIDTH+1];
int player_x = WIDTH/2, player_y = HEIGHT-1;
int enemy_x = rand() % WIDTH, enemy_y = 0;
int score = 0;
srand(time(NULL));
// 初始化地图
for (int i = 0; i < HEIGHT; i++) {
for (int j = 0; j < WIDTH; j++) {
map[i][j] = ' ';
}
map[i][WIDTH] = '\0';
}
while (1) {
// 清屏
system("cls");
// 绘制地图
for (int i = 0; i < HEIGHT; i++) {
puts(map[i]);
}
// 绘制玩家和敌人
map[player_y][player_x] = 'A';
map[enemy_y][enemy_x] = 'V';
// 移动敌人
enemy_y++;
// 玩家控制
if (kbhit()) {
char ch = getch();
if (ch == 'a' && player_x > 0) {
player_x--;
}
if (ch == 'd' && player_x < WIDTH-1) {
player_x++;
}
if (ch == ' ') {
// 发射子弹
int bullet_x = player_x, bullet_y = player_y-1;
while (bullet_y >= 0) {
if (bullet_x == enemy_x && bullet_y == enemy_y) {
// 击中敌人
score++;
enemy_x = rand() % WIDTH;
enemy_y = 0;
break;
}
map[bullet_y][bullet_x] = '*';
bullet_y--;
}
}
}
// 判断游戏结束
if (enemy_y >= HEIGHT) {
printf("Game Over! Score: %d\n", score);
break;
}
// 延时
Sleep(100);
}
return 0;
}
```
希望这个代码示例能够帮到您!
阅读全文