- C++
真正的小游戏
- @ 2026-10-25 11:31:36
#include <iostream>
#include <string>
#include <windows.h> // 必须包含此头文件以使用 Windows API
#include <algorithm>
#include <cctype>
using namespace std;
// 辅助函数:将字符串转换为小写,方便比较
string toLower(string s) {
transform(s.begin(), s.end(), s.begin(), ::tolower);
return s;
}
int main() {
string a;
bool isMouseLocked = false; // 标记鼠标是否被锁定
cout << "=== 系统安全验证 ===" << endl;
while (true) {
// 根据锁定状态显示不同的提示信息
if (isMouseLocked) {
cout << "\n[警告] 鼠标已被封印!请输入 '是' 或 'yes' 来解除封印:" << endl;
} else {
cout << "\n请问:姜浙林帅不帅?(请输入:是/否)" << endl;
}
if (!(cin >> a)) {
// 防止输入流错误(如Ctrl+Z),尝试清除错误状态
cin.clear();
cin.ignore(10000, '\n');
continue;
}
string lowerA = toLower(a);
// 情况1:回答正确 (是/yes/y/帅)
if (lowerA == "是" || lowerA == "yes" || lowerA == "y" || lowerA == "帅") {
// 如果之前被锁定,现在释放鼠标
if (isMouseLocked) {
ClipCursor(NULL);
isMouseLocked = false;
cout << "\n?? 封印解除!鼠标恢复正常。" << endl;
}
cout << "\n? 验证通过!姜浙林确实非常帅!" << endl;
cout << "?? 程序正常退出。" << endl;
break; // 退出循环,程序结束
}
// 情况2:回答错误 (否/no/n/不帅)
else if (lowerA == "否" || lowerA == "no" || lowerA == "n" || lowerA == "不帅") {
if (!isMouseLocked) {
cout << "\n? 答案错误!启动永久防御机制..." << endl;
cout << "?? 你的鼠标已被无限期封印,直到你承认姜浙林很帅为止!" << endl;
// 定义一个较小的矩形区域, effectively "locking" the mouse
// 这里设置为屏幕左上角一个小区域,或者你可以设置为 (0,0,0,0) 完全禁止移动(视系统权限而定)
// 为了体验明显但不至于完全死机,通常限制在一个小窗口内
RECT rect;
rect.left = 0;
rect.top = 0;
rect.right = 1; // 极小区域
rect.bottom = 1; // 极小区域
ClipCursor(&rect);
isMouseLocked = true;
} else {
cout << "\n?? 还在嘴硬?鼠标依然被锁定中!" << endl;
}
}
else {
// 无效输入
if (isMouseLocked) {
cout << "\n?? 无效输入。在锁定状态下,只能输入 '是' 来解锁。" << endl;
} else {
cout << "\n?? 无效输入,请输入 '是' 或 '否'。" << endl;
}
}
}
return 0;
}
0 条评论
目前还没有评论...