c語(yǔ)言小程序游戲代碼怎么寫

小億
140
2023-12-08 10:35:46
欄目: 云計(jì)算

下面是一個(gè)簡(jiǎn)單的C語(yǔ)言小程序游戲代碼示例:

#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;  // 游戲結(jié)束標(biāo)志

    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;
        }

        // 判斷游戲是否結(jié)束
        if (x <= 0 || x >= WIDTH - 1 || y <= 0 || y >= HEIGHT - 1) {
            gameOver = 1;
        }

        // 延遲一段時(shí)間,控制游戲速度
        for (int i = 0; i < 10000000; i++) {}

    }

    // 游戲結(jié)束時(shí)打印得分
    system("cls");
    printf("Game Over!\n");
    printf("Score: %d\n", score);

    return 0;
}

這個(gè)小程序是一個(gè)貪吃蛇游戲,玩家通過(guò)鍵盤輸入控制貪吃蛇的移動(dòng)方向,吃到水果可以得分。游戲界面使用字符畫的方式打印在控制臺(tái)上。游戲結(jié)束時(shí)會(huì)打印得分。

0