Advertisement

一个简单的C++控制台小游戏

阅读量:

下面是一个简单的C++代码块示例,在该代码块中构建了一个基本的控制台小游戏程序。游戏的目标是利用键盘输入来操控一个字符在屏幕上水平移动,并使其最终抵达屏幕底部中央的位置。

复制代码
    #include <iostream>
    #include <conio.h> // for _kbhit() and _getch()
    #include <windows.h> // for Sleep()
    
    using namespace std;
    
    const int width = 50; // 屏幕宽度
    const int height = 10; // 屏幕高度
    
    void clearScreen() {
    system("cls"); // 清屏命令,Windows系统
    }
    
    void setupScreen() {
    clearScreen();
    for (int i = 0; i < height; ++i) {
        for (int j = 0; j < width; ++j) {
            if (i == 0 || i == height - 1 || j == 0 || j == width - 1) {
                cout << "#"; // 边界
            } else {
                cout << " "; // 空格
            }
        }
        cout << endl;
    }
    }
    
    int main() {
    int x = width / 2 - 1; // 初始x位置
    int y = 1; // 初始y位置
    
    setupScreen();
    cout << "Use W, A, S, D to move. Try to reach the bottom center." << endl;
    
    while (true) {
        if (_kbhit()) {
            char key = _getch(); // 读取按键,不回显
            switch (key) {
                case 'w': // 向上移动
                    if (y > 1) --y;
                    break;
                case 's': // 向下移动
                    if (y < height - 2) ++y;
                    break;
                case 'a': // 向左移动
                    if (x > 1) --x;
                    break;
                case 'd': // 向右移动
                    if (x < width - 2) ++x;
                    break;
            }
        }
    
        clearScreen();
        setupScreen();
    
        // 打印玩家位置
        for (int i = 0; i < height; ++i) {
            for (int j = 0; j < width; ++j) {
                if (i == y && j == x) {
                    cout << "O"; // 玩家
                } else {
                    cout << " "; // 空格
                }
            }
            cout << endl;
        }
    
        if (y == height - 2 && x == width / 2 - 1) {
            cout << "Congratulations! You reached the bottom center." << endl;
            break;
        }
    
        Sleep(100); // 等待100毫秒
    }
    
    return 0;
    }

该小游戏运用了Windows系统特有的功能模块,并调用相关的API函数实现游戏界面的操作。其中用于清除屏幕内容的功能由系统命令system("cls")完成显示效果,并通过API函数 _kbhit()_getch() 来处理用户的按键事件以获取输入反馈。对于非Windows操作环境下的用户来说,在保持游戏运行的同时可能需要对上述功能进行相应的功能适配以确保游戏体验的一致性与稳定性

运行这个游戏需要一个能够处理C++语言的编译器(如GCC或Clang)以及一个文本编辑器用于编写代码。请将代码粘贴到文本编辑器中并将其保存为.cpp文件之后进行编译与执行。使用W, A, S, D键来控制角色的移动方向并使角色朝着屏幕底部中央的目标位置前进。

全部评论 (0)

还没有任何评论哟~