棋类游戏大全(魔改版)下
2026-08-16 14:26:05
发布于:四川
//由于acgo有字数限制所以此代码为下半段,请谅解
HANDLE h = FindFirstFileA("User/User*.key", &fd);
bool dup = false;
do {
FILE* fp = fopen(("User/" + string(fd.cFileName)).c_str(), "rb");
if (!fp) continue;
UserData tmp;
fread(&tmp, sizeof(UserData), 1, fp);
fclose(fp);
if (strcmp(tmp.username, newName.c_str()) == 0) { dup = true; break; }
} while (FindNextFileA(h, &fd));
if (dup) {
MessageBoxA(NULL, "用户名已存在", "提示", MB_OK | MB_ICONHAND);
} else {
strcpy(curUser.username, newName.c_str());
saveUser(curUser);
cout << "用户名修改成功!\n";
Sleep(800);
}
} else if (c == 2) {
__time64_t now = _time64(nullptr);
if (isDeveloper) {
// 开发者直接允许
cout << "请输入新的小贴士(最多127字符):\n";
string newTip;
cin.ignore();
getline(cin, newTip);
strcpy(curUser.tip, newTip.c_str());
saveUser(curUser);
cout << "小贴士修改成功!\n";
Sleep(800);
} else if (now > curUser.vipEndTime && !curUser.hasPermanentVIP) {
MessageBoxA(NULL, "修改小贴士是VIP专属功能!", "提示", MB_OK | MB_ICONHAND);
} else {
cout << "请输入新的小贴士(最多127字符):\n";
string newTip;
cin.ignore();
getline(cin, newTip);
strcpy(curUser.tip, newTip.c_str());
saveUser(curUser);
cout << "小贴士修改成功!\n";
Sleep(800);
}
}
}
//===========================================================================
// 主函数
//===========================================================================
int main() {
srand((unsigned)time(0));
// ✅ 强制登录
loginMenu();
if (!loggedIn) return 0;
string in = " ";
while (1) {
checkExpire();
in = " ";
system("cls");
cout << "========================================\n";
cout << " 当前用户:" << curUser.username;
cout << " | 积分:" << curUser.score;
if (curUser.hasPermanentVIP) cout << " | [永久VIP]";
else if (_time64(nullptr) < curUser.vipEndTime) cout << " | [VIP]";
cout << "\n========================================\n";
if (isDeveloper) {
cout << " 0. 开发者模式 (已激活)\n";
} else {
cout << " 0. 开发者模式(密码)\n";
}
cout << " 1. 单人AI五子棋\n";
cout << " 2. 双人本地五子棋\n";
cout << " 3. 单人井字棋\n";
cout << " 4. 双人本地井字棋\n";
cout << " 5. 局域网联机五子棋(部分电脑可能弹出防火墙提示)\n";
cout << " 6. 局域网联机井字棋(部分电脑可能弹出防火墙提示)\n";
cout << " 7. 原码网页跳转\n";
cout << " 8. 国际象棋/象棋\n";
cout << " 9. 鸣谢及常见问题\n";
cout << " 10. 商店\n";
cout << " 11. 设置\n";
cout << " 12. 退出\n\n";
cout << "请输入编号:";
cin >> in;
system("cls");
if (in == "0") {
// 开发者模式入口(密码:xgy11111i,SHA-256 + Base64 双加密验证)
activateDevMode();
jz();
} else if (in == "1") { jz(); wzq(); }
else if (in == "2") { jz(); Gobang(); }
else if (in == "3") { jz(); Tic_Tac_Toe(); }
else if (in == "4") { jz(); Tic_Tac_Toe_1(); }
else if (in == "5") { jz(); NetGobang(); }
else if (in == "6") { jz(); NetTTT(); }
else if (in == "7") {
jz();
cout << "1:ACGO 2:洛谷 3:返回\n输入:"; cin >> in;
char c[256] = {0};
if (in == "1") strncpy(c, URL[1].c_str(), 255), ask(c);
else if (in == "2") strncpy(c, URL[2].c_str(), 255), ask(c);
else jz();
} else if (in == "8") {
char c[256] = {0};
jz();
cout << "打开方式:\n1.acgo\n2.洛谷\n";
cin >> in;
if (in == "1") {
cerr << "[警告|warning]所有象棋部分的代码还在公测阶段,可能存在问题\n";
cout << "请输入游戏编号:\n1.中国象棋\n2.国际象棋\n";
cin >> in;
if (in == "1") { strncpy(c, URL[3].c_str(), 255); ask(c); }
if (in == "2") { strncpy(c, URL[4].c_str(), 255); ask(c); }
system("cls");
} else if (in == "2") {
cout << "由于c++无法渲染棋盘和棋子,所以此项目由python编写,敬请谅解!\n";
MessageBoxA(NULL, "此项目暂未上传到OJ平台,\n制作不易敬请谅解!", "提示", MB_OK | MB_ICONEXCLAMATION);
system("cls");
}
} else if (in == "9") { minx_cjwt(); }
else if (in == "10") { shop(); }
else if (in == "11") { settingsMenu(); }
else if (in == "12") { closeNetSocket(); return 0; }
else MessageBoxA(NULL, "输入无效,请重新选择", "提示", MB_OK);
}
return 0;
}
这里空空如也




















有帮助,赞一个