以下是一个用C++ 5.11编写的简单人机枪战游戏的示例代码:

#include <iostream>
#include <conio.h>  // 用于监听键盘输入

using namespace std;

// 定义游戏地图尺寸
const int WIDTH = 20;
const int HEIGHT = 10;

// 定义角色和敌人的初始位置
int playerX = WIDTH / 2;
int playerY = HEIGHT / 2;
int enemyX = 1;
int enemyY = 1;

// 定义游戏状态
bool gameOver = false;

// 游戏循环
void gameLoop() {
    while (!gameOver) {
        // 清空屏幕
        system("cls");

        // 绘制游戏地图
        for (int y = 0; y < HEIGHT; y++) {
            for (int x = 0; x < WIDTH; x++) {
                // 绘制角色
                if (x == playerX && y == playerY) {
                    cout << "P";
                }
                // 绘制敌人
                else if (x == enemyX && y == enemyY) {
                    cout << "E";
                }
                // 绘制空地
                else {
                    cout << ".";
                }
            }
            cout << endl;
        }

        // 监听键盘输入
        if (_kbhit()) {
            char input = _getch();

            // 根据输入移动角色
            switch (input) {
                case 'w':
                    playerY--;
                    break;
                case 's':
                    playerY++;
                    break;
                case 'a':
                    playerX--;
                    break;
                case 'd':
                    playerX++;
                    break;
                case ' ':
                    // 角色开火
                    if (playerX == enemyX && playerY == enemyY) {
                        gameOver = true;
                    }
                    break;
                default:
                    break;
            }
        }

        // 更新敌人位置
        if (playerX < enemyX) {
            enemyX--;
        } else if (playerX > enemyX) {
            enemyX++;
        }
        if (playerY < enemyY) {
            enemyY--;
        } else if (playerY > enemyY) {
            enemyY++;
        }

        // 判断游戏结束条件
        if (playerX == enemyX && playerY == enemyY) {
            gameOver = true;
        }
    }

    // 游戏结束,显示结果
    system("cls");
    cout << "游戏结束!" << endl;
    if (playerX == enemyX && playerY == enemyY) {
        cout << "你击败了敌人!" << endl;
    } else {
        cout << "你被敌人击败了!" << endl;
    }
}

int main() {
    cout << "欢迎来到人机枪战游戏!" << endl;
    cout << "使用WSAD控制角色移动,空格键开火。" << endl;
    cout << "按任意键开始游戏..." << endl;
    _getch();

    // 进入游戏循环
    gameLoop();

    return 0;
}

请注意,这只是一个非常简单的示例,只有一个敌人和一个角色,游戏地图也很小。您可以根据自己的需求进行扩展和改进

给我用c++511写wsad和 操控的人机枪战游戏

原文地址: https://www.cveoy.top/t/topic/hTCm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录