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版,这样才是一个真正的代码实现。
好的感谢大家的阅读,求一个赞。