#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 条评论

小派老师
目前还没有评论...