C++实现的小游戏

大家好,这几天做项目太忙,时间不够去更新,十分抱歉。今天凌晨花了半个点的时间写了一个小游戏的青春版,给大家分享。

游戏名:想玩电脑?先过我这关!

首先我先来说明一下游戏的规则:我们用C++写了一个0~100的随机数,用户有五次机会可以猜数字,猜对了就可以玩电脑,猜错了电脑就会关机(当然你要赋予它一定的权限,才可以达到关机的目的,不然的话就会显示关机失败)

代码演示:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <limits>

using namespace std;

int main() {
    srand(static_cast<unsigned int>(time(nullptr))); // 初始化随机数生成器

    int secretNumber = rand() % 100 + 1; // 生成1到100之间的随机数
    int guess;
    const int maxAttempts = 5; // 最大猜测次数

    cout << "欢迎来到猜数字游戏!" << endl;
    cout << "规则:你只有五次机会猜一个1到100之间的数字。" << endl;
    cout << "如果猜对了,你可以继续使用电脑;如果五次都猜错,电脑会尝试关机。" << endl;

    for (int attempts = 0; attempts < maxAttempts; ++attempts) {
        cout << "尝试次数 " << (attempts + 1) << "/" << maxAttempts << ":" << endl;
        cout << "请输入你的猜测(1-100):";
        
        // 清除输入缓冲区并获取用户输入
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
        cin >> guess;

        // 输入验证
        while (cin.fail() || guess < 1 || guess > 100) {
            cout << "无效输入!请输入一个1到100之间的整数:" << endl;
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            cin >> guess;
        }

        if (guess < secretNumber) {
            cout << "太小了!请再试一次。" << endl;
        } else if (guess > secretNumber) {
            cout << "太大了!请再试一次。" << endl;
        } else {
            cout << "恭喜你,你猜对了数字 " << secretNumber << "!" << endl;
            cout << "你可以继续使用电脑了。" << endl;
            return 0; // 猜对后退出程序
        }
    }

    // 如果五次都猜错,尝试关闭电脑
    cout << "很遗憾,你没有在五次机会内猜到数字。" << endl;
    cout << "电脑即将尝试关机..." << endl;

    // 在Windows系统上执行关机命令(需要管理员权限)
    // 如果不是Windows系统或者没有权限,此命令可能无效或被拒绝
    int shutdownResult = system("shutdown /s /t 5"); // 5秒后关机,以便用户保存工作

    if (shutdownResult == 0) {
        cout << "关机命令已发送,请保存你的工作!" << endl;
    } else {
        cout << "关机命令执行失败,可能是权限不足。" << endl;
    }

    // 等待用户按下任意键退出(在关机前给用户一个保存工作的机会)
    cout << "按任意键退出游戏..." << endl;
    cin.ignore(numeric_limits<streamsize>::max(), '\n');
    cin.get();

    return 0;
}

上面的代码和注释写的十分清楚,看过前几次题目的长代码,相信大家可以看的懂。这段代码只是最简单的部分,大家可以自己添加想要加入的功能,自己设计游戏规则和惩罚。这段代码的演示只是一个黑框框,我昨晚的时间有限,只能写成这个游戏的air版。有能力的同学可以将其完善,做一个精美的ui,完整的封装,写成一个pro版,这样才是一个真正的代码实现。

好的感谢大家的阅读,求一个赞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值