用C语言帮我编写一个火柴人跑酷小游戏
时间: 2023-09-13 09:02:27 浏览: 387
好的,下面是一个简单的火柴人跑酷小游戏的代码,你可以参考一下:
```
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#define WIDTH 60
#define HEIGHT 20
#define GROUND 18
int score = 0;
int hpos = GROUND;
int vpos = HEIGHT - GROUND - 2;
int obstacle = 0;
void draw_ground() {
int i;
for(i = 0; i < WIDTH; i++) {
printf("=");
}
printf("\n");
}
void draw_character() {
int i;
for(i = 0; i < vpos; i++) {
printf("\n");
}
for(i = 0; i < hpos; i++) {
printf(" ");
}
printf("@");
printf("\n");
}
void draw_obstacle() {
int i;
for(i = 0; i < obstacle; i++) {
printf(" ");
}
printf("X");
printf("\n");
}
void draw_score() {
printf("Score: %d\n", score);
}
void clear_screen() {
system("cls");
}
void update_game() {
if(obstacle == WIDTH - 1) {
obstacle = 0;
score++;
}
else {
obstacle++;
}
if(kbhit()) {
char key = getch();
if(key == ' ') {
if(vpos == HEIGHT - GROUND - 2) {
vpos -= 2;
}
}
}
if(vpos < HEIGHT - GROUND - 2) {
vpos++;
}
if(obstacle == hpos && vpos == HEIGHT - GROUND - 1) {
printf("\nGame Over!\n");
printf("Your score is: %d\n", score);
exit(0);
}
}
int main() {
while(1) {
clear_screen();
draw_ground();
draw_character();
draw_obstacle();
draw_score();
update_game();
Sleep(50);
}
return 0;
}
```
在这个小游戏中,火柴人会自动向右跑,同时会有一个障碍物从左边向右移动。你需要通过按下空格键来让火柴人跳起来,避免撞到障碍物。每成功避开一个障碍物,你的分数就会加1。如果撞到了障碍物,游戏就结束了,同时会显示你的最终得分。
阅读全文