C 言語でミニゲームのコードを書く方法は?
簡単なC言語のサンプルゲームコードは以下のとおりです。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define WIDTH 20
#define HEIGHT 10
int main() {
int x = WIDTH / 2, y = HEIGHT / 2; // 玩家初始位置
int fruitX, fruitY; // 水果位置
int score = 0; // 得分
int gameOver = 0; // 游戏结束标志
while (!gameOver) {
// 清空屏幕
system("cls");
// 打印游戏界面
for (int i = 0; i < WIDTH + 2; i++) {
printf("#");
}
printf("\n");
for (int i = 0; i < HEIGHT; i++) {
for (int j = 0; j < WIDTH; j++) {
if (j == 0 || j == WIDTH - 1) {
printf("#");
} else if (i == y && j == x) {
printf("O");
} else if (i == fruitY && j == fruitX) {
printf("F");
} else {
printf(" ");
}
}
printf("\n");
}
for (int i = 0; i < WIDTH + 2; i++) {
printf("#");
}
printf("\n");
// 获取键盘输入
if (_kbhit()) {
switch (_getch()) {
case 'a':
x--;
break;
case 'd':
x++;
break;
case 'w':
y--;
break;
case 's':
y++;
break;
case 'q':
gameOver = 1;
break;
}
}
// 判断是否吃到水果
if (x == fruitX && y == fruitY) {
score++;
fruitX = rand() % (WIDTH - 2) + 1;
fruitY = rand() % (HEIGHT - 2) + 1;
}
// 判断游戏是否结束
if (x <= 0 || x >= WIDTH - 1 || y <= 0 || y >= HEIGHT - 1) {
gameOver = 1;
}
// 延迟一段时间,控制游戏速度
for (int i = 0; i < 10000000; i++) {}
}
// 游戏结束时打印得分
system("cls");
printf("Game Over!\n");
printf("Score: %d\n", score);
return 0;
}
このミニプログラムは蛇ゲームです。キーボードを使用して蛇の移動方向を操作し、果物を食べるとスコアを獲得できます。ゲーム画面は、コントロールパネルに文字画像で印刷されます。ゲーム終了時にスコアが表示されます。