c语言

c语言小程序游戏代码怎么写

小亿
144
2023-12-08 10:35:46
栏目: 云计算

下面是一个简单的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;
}

这个小程序是一个贪吃蛇游戏,玩家通过键盘输入控制贪吃蛇的移动方向,吃到水果可以得分。游戏界面使用字符画的方式打印在控制台上。游戏结束时会打印得分。

0
看了该问题的人还看了