C语言小游戏,老鼠找粮仓

C语言小游戏,老鼠找粮仓_第1张图片

C语言小游戏,老鼠找粮仓_第2张图片

进入游戏界面和获胜界面如上图,代码如下。可作如下操作,比如计分,保存得分,得分排名展示等丰富游戏。


#include 
#include 

#define ROWS 10
#define COLS 10

// 定义迷宫地图
char maze[ROWS][COLS] = {
    {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
    {'#', ' ', ' ', ' ', '#', ' ', ' ', ' ', ' ', '#'},
    {'#', ' ', '#', ' ', '#', ' ', '#', '#', ' ', '#'},
    {'#', ' ', '#', ' ', ' ', ' ', ' ', ' ', ' ', '#'},
    {'#', ' ', '#', '#', '#', '#', '#', '#', ' ', '#'},
    {'#', ' ', '#', ' ', ' ', ' ', ' ', '#', ' ', '#'},
    {'#', ' ', '#', ' ', '#', '#', ' ', '#', ' ', '#'},
    {'#', ' ', ' ', ' ', '#', ' ', ' ', ' ', ' ', '#'},
    {'#', '#', '#', '#', '#', '#', '#', '#', ' ', '#'},
    {'#', ' ', ' ', ' ', ' ', ' ', ' ', '#', ' ', '#'}
};

// 定义老鼠和粮仓的位置
int mouseRow = 5;
int mouseCol = 5;
int foodRow = 8;
int foodCol = 8;

// 显示迷宫地图
void displayMaze() {
    int i, j;
    for (i = 0; i < ROWS; i++) {
        for (j = 0; j < COLS; j++) {
            if (i == mouseRow && j == mouseCol) {
                printf("@ ");  // 老鼠的位置
            }
            else if (i == foodRow && j == foodCol) {
                printf("$ ");  // 粮仓的位置
            }
            else {
                printf("%c ", maze[i][j]);
            }
        }
        printf("\n");
    }
}

// 移动老鼠
void moveMouse(char direction) {
    int newRow = mouseRow;
    int newCol = mouseCol;

    switch (direction) {
    case 'w':  // 上
        newRow--;
        break;
    case 's':  // 下
        newRow++;
        break;
    case 'a':  // 左
        newCol--;
        break;
    case 'd':  // 右
        newCol++;
        break;
    }

    // 判断是否可以移动
    if (maze[newRow][newCol] == ' ') {
        maze[mouseRow][mouseCol] = ' ';
        mouseRow = newRow;
        mouseCol = newCol;
        maze[mouseRow][mouseCol] = '@';
    }
}

int main() {
    char direction;

    while (1) {
        //system("clear");  // 清屏,适用于Linux/macOS
        system("cls"); // 清屏,适用于Windows

        displayMaze();

        printf("请输入移动方向(w-上;s-下;a-左;d-右):");
        scanf(" %c", &direction);

        moveMouse(direction);

        // 判断是否到达粮仓
        if (mouseRow == foodRow && mouseCol == foodCol) {
            printf("恭喜,老鼠找到了粮仓!\n");
            break;
        }
    }

    return 0;
}

你可能感兴趣的:(c语言,linux,vscode)