主页
最近更新
捐赠
云剪贴板 8fvhi2h9
作者
Igallta
复制 Markdown
更新剪贴板内容
Beta 1.2 ```cpp #include<bits/stdc++.h> #include<windows.h> #define clr system("cls") #define int long long using namespace std; string dj[] = {"放大镜", "华子", "小刀", "饮料", "手铐"}, zd[] = {"空弹", "实弹"}, pl1, pl2; bool is1 = 1, sk, zs; //sk:手铐 zs:打自己 int yu, kb, sd, b1 = 2, win1, win2, b2 = 2, ls = 1, hit = 1, mxb = 2, jl; //jl:记录被挂手铐后局数 vector<int>dj1, dj2; queue<int>g;//枪械装弹 inline void dist(int atime, int st = 20, int shake_distance = 10) { //窗口抖动,atime是默认时间,st是等待抖动时间,第三个是抖动幅度 int x, y, width, height; int counts = atime / st / 2; RECT rect; HWND window = NULL, oldwindow = NULL; for (int i = 1; i <= counts; i++) { window = GetForegroundWindow(); if (window != oldwindow) { GetWindowRect(window, &rect); x = rect.left; y = rect.top; width = rect.right - x; height = rect.bottom - y; oldwindow = window; } MoveWindow(window, x - shake_distance, y, width, height, TRUE);//移动窗口 Sleep(st); MoveWindow(window, x + shake_distance, y, width, height, TRUE); Sleep(st); } } inline void split() { clr; int shake_time = 20, shake_distance = 10, x, y, width, height; RECT rect; HWND window = NULL, oldwindow = NULL; clr; for (int i = 1; i <= 300; i++) { window = GetForegroundWindow(); if (window != oldwindow) { GetWindowRect(window, &rect); x = rect.left; y = rect.top; width = rect.right - x; height = rect.bottom - y; oldwindow = window; } MoveWindow(window, x - shake_distance, y, width, height, TRUE); Sleep(shake_time); MoveWindow(window, x + shake_distance, y, width, height, TRUE); Sleep(shake_time); if (i == 1)cout << "你"; else if (i == 20)cout << "怎"; else if (i == 40)cout << "么"; else if (i == 60)cout << "这"; else if (i == 80)cout << "么"; else if (i == 100)cout << "不"; else if (i == 120)cout << "听"; else if (i == 140)cout << "话"; else if (i == 160)cout << "呢"; else if (i == 170)cout << "?"; else if (i == 180)cout << "你"; else if (i == 200)cout << "让"; else if (i == 220)cout << "我"; else if (i == 240)cout << "要"; else if (i == 260)cout << "消"; else if (i == 280)cout << "失"; else if (i == 300)cout << "了"; } int t = 250; while (t--) {//循环输出ERROR cout << "ERROR "; Sleep(3); } t = 20; while (t--)system("start cmd");//弹出二十个窗口 t = 20; while (t--) { MessageBox(NULL, "ERROR!", "ERROR", MB_OK | MB_ICONWARNING); } exit(0); } void hitt(int p) { cout << "你要打谁?(0:自己 1:另一名玩家):"; string ht1; bool ht; cin >> ht1; if (ht1.size() > 1 || !isdigit(ht1[0])) { cout << "请重新输入!\n"; } ht = (ht1[0] - 48); int k = g.front(); if (ht) { for (int cas = 1; cas <= 3; cas++) { cout << '.'; Sleep(400); } clr; if (k) { dist(400); cout << "当前是实弹!" ; if (p == 1) { cout << pl2; b2 -= hit; } else { cout << pl1; b1 -= hit; } cout << "受到了" << hit << "点伤害!\n"; --sd; } else { cout << "很遗憾,当前是空包弹。\n"; --kb; } } else { zs = 1; if (k) { dist(400); cout << "哦豁,当前是实弹!" ; if (p == 1) { cout << pl1; b1 -= hit; } else { cout << pl2; b2 -= hit; } cout << "受到了" << hit << "点伤害!\n"; --sd; } else { cout << "恭喜你,当前是空包弹!\n"; --kb; } } } inline void daoj(int p) {//显示道具 int total = 0; if (p == 1) { cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj1) { cout << (++total) << "号:" << dj[v] << " "; } } if (p == 2) { cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj2) { cout << (++total) << "号:" << dj[v] << " "; } } } inline void dontagain() { clr; Sleep(500); for (int i = 0; i <= 2; i++) { cout << '.'; Sleep(1000); } cout << "够"; Sleep(2000); cout << "了!!!\n"; dist(800); system("pause"); cout << "你再这样程序就出 bug 了!\n"; system("pause"); clr; } inline void sc() {//上道具,子弹打空时执行该函数 int k = rand() % 5 + 1; cout << "现在开始上道具!\n" << pl1 << "(p1)获得了:"; for (int i = 1; i <= k; i++) {//随机在数组中进行抽取 int t = rand() % 5;//选择下标 dj1.push_back(t);//储存信息下标 cout << dj[t] << ' ';//输出对应的道具 Sleep(500); } while (dj1.size() > 8)dj1.pop_back(); cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj1) { cout << dj[v] << ' '; } cout << '\n'; Sleep(1200); system("pause"); clr; cout << pl2 << "(p2)获得了:"; for (int i = 1; i <= k; i++) { int t = rand() % 5; dj2.push_back(t); cout << dj[t] << ' '; Sleep(500); } while (dj2.size() > 8)dj2.pop_back(); cout << "\n现在" << pl2 << "(p2)拥有道具:\n"; for (auto v : dj2) { cout << dj[v] << ' '; } cout << '\n'; Sleep(1200); system("pause"); clr; kb = rand() % 6 + 1;//随机出空包弹数量 sd = rand() % 6 + 1;//随机出实弹数量 yu = (kb + sd); int tk = kb, ts = sd; cout << "空包弹有:" << kb << " 实弹有:" << sd << '\n'; cout << "装填子弹中......\n"; srand(time(0)); for (int i = 1; i <= yu; i++) { bool k = rand() % 2;//以50%的概率公平公正 if (k) { if (tk) {//如果目标空包弹还有没被装填 g.push(0); --tk; } else {//否则只好装填实弹 g.push(1); --ts; } } else { if (ts) {//同理 g.push(1); --ts; } else { g.push(0); --tk; } } } Sleep(350); } inline void drink() {//饮料的代码,由于是通用的就放出来了 int tmpo = g.front(); g.pop(); cout << "你选择了饮料!退出的这发子弹是:" << zd[tmpo] << "!\n"; --yu; if (tmpo) { --sd; } else --kb; Sleep(1500); } inline void over() { Sleep(1000); system("pause"); clr; ++ls; } inline void fdj() { cout << "当前子弹:"; cout << zd[g.front()] << '\n'; Sleep(1500); } inline void hitd(int p) { if ((p == 1 && !dj1.size() ) || (p == 2 && !dj2.size()))hitt(p); if (p == 1)daoj(1); if (p == 2)daoj(2); cout << "\n请告诉我要使用道具在你拥有的的编号(从1开始;输入0代表不使用道具):"; int bh; string inp; ques: ; cin >> inp; if (inp.size() > 1) { cout << "不合法!\n请重新输入!"; goto ques; } if (!isdigit(inp[0])) { cout << "不合法!\n请重新输入!"; goto ques; } bh = inp[0] - 49; if (bh == -1)hitt(p); if (p == 1 && (bh > dj1.size() - 1 || bh < 0)) { cout << "不合法!\n请重新输入!"; goto ques; } if (p == 2 && (bh > dj2.size() - 1 || bh < 0)) { cout << "不合法!\n请重新输入!"; goto ques; } int tmp; if (p == 1) { tmp = dj1[bh]; dj1.erase(dj1.begin() + bh); } if (p == 2) { tmp = dj2[bh]; dj2.erase(dj2.begin() + bh); } switch (tmp) { case 0: { fdj(); break; } case 1: { if (p == 1) { if (b1 == mxb) { cout << "达到上限值,无法回复。"; } else { ++b1; cout << "你选择了华子!\n" << pl1 << "回复1点血量,现在他有" << b1 << "条生命值!"; } } if (p == 2) { if (b2 == mxb) { cout << "达到上限值,无法回复。"; } else { ++b2; cout << "你选择了华子!\n" << pl2 << "回复1点血量,现在他有" << b2 << "条生命值!"; } } Sleep(1500); break; } case 2: { if (hit == 2) { cout << "你在本回合已经使用了小刀,不能再使用了!将会新加小刀至末尾。\n"; if (p == 1)dj1.push_back(2); if (p == 2)dj2.push_back(2); } else { hit = 2; cout << "你选择了小刀!这一回合将造成双倍伤害!\n"; } Sleep(1500); break; } case 3: { drink(); break; } case 4: { if (sk) { cout << "别人已经被铐起来了.....将把手铐移至末尾!\n"; if (p == 1)dj1.push_back(4); if (p == 2)dj2.push_back(4); } else { sk = 1; jl = 0; cout << "你选择了手铐!下一回合敌人将无法移动!\n"; } Sleep(1500); break; } if (!yu) { sc(); } if (p == 1)hitd(1); else hitd(2); } hitt(p); g.pop(); Sleep(1000); --yu; hit = 1; } signed main() { cout << "玩家1的名字:"; cin >> pl1; int cnt1 = 0, cnt2 = 0; while (pl1 == "上帝" || pl1 == "GOD" || pl1 == "GOd" || pl1 == "GoD" || pl1 == "God" || pl1 == "gOD" || pl1 == "goD" || pl1 == "gOd" || pl1 == "god") { if (cnt1 == 6) { dontagain(); } if (cnt1 == 12) { split(); } cout << "ERROR 010101000110100001100101001000000100011101101111011001000010000001101000011000010111001100100000011000100110010101100101011011100010000001100100011001010110000101100100001011000111100101101111011101010010000001100011011000010110111000100111011101000010000001101110011000010110110101100101001000000111100101101111011101010111001000100000011011100110100101100011011010110110111001100001011011010110010100100000001000100100011101101111011001000010001000101110"; cout << "\n你需要重新输入一个名字......\n"; ++cnt1; cin >> pl1; } cout << "玩家2的名字:"; cin >> pl2; while (pl2 == "上帝" || pl2 == "GOD" || pl2 == "GOd" || pl2 == "GoD" || pl2 == "God" || pl2 == "gOD" || pl2 == "goD" || pl2 == "gOd" || pl2 == "god") { if (cnt2 == 6) { dontagain(); } if (cnt2 == 12) { split(); } cout << "ERROR 010101000110100001100101001000000100011101101111011001000010000001101000011000010111001100100000011000100110010101100101011011100010000001100100011001010110000101100100001011000111100101101111011101010010000001100011011000010110111000100111011101000010000001101110011000010110110101100101001000000111100101101111011101010111001000100000011011100110100101100011011010110110111001100001011011010110010100100000001000100100011101101111011001000010001000101110"; cout << "\n你需要重新输入一个名字......\n"; cin >> pl2; } clr; cout << "现在讲解规则:\n小刀:可以让下一发子弹伤害变成两倍\n华子:可以回一滴血\n放大镜:你可以查看当前子弹\n饮料:可以退一发子弹\n手铐:可以限制对方一回合动不了\n一共有3轮。\n"; Sleep(1200); system("pause"); clr; cout << "注意了,这个版本如果你的道具大于8个会把后面的道具删掉。\n"; Sleep(1000); system("pause"); clr; start: ; if (ls == 4) { clr; cout << "局数已到,游戏结束。\n"; if (win1 > win2) { cout << "p1赢了!"; } else cout << "p2赢了!"; Sleep(2000); system("pause"); exit(0); } //初始化 b1 = 2 * ls; b2 = 2 * ls; hit = 1; zs = 0; sk = 0; yu = 0; kb = 0; sd = 0; jl = 0; mxb = b1; dj1.clear(); dj2.clear(); while (g.size())g.pop(); cout << "第" << ls << "局\n目前比分(p1 : p2):" << win1 << " : " << win2 << '\n'; Sleep(1200); clr; while (1) { clr; srand(time(0)); if (!yu) { sc(); } cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj1) { cout << dj[v] << ' '; } cout << "\n现在" << pl2 << "(p2)拥有道具:\n"; for (auto v : dj2) { cout << dj[v] << ' '; } cout << "\n生命值(p1,p2):" << b1 << "," << b2 << "\n"; cout << "空包弹有:" << kb << "发,实弹有:" << sd << "发\n"; if (is1) { cout << "现在是" << pl1 << "(p1)的回合\n"; hitd(1); } else { cout << "现在是" << pl2 << "(p2)的回合\n"; hitd(2); } if (b1 <= 0) { clr; cout << pl2 << "赢了\n"; ++win2; over(); goto start; } if (b2 <= 0) { clr; cout << pl1 << "赢了\n"; ++win1; over(); goto start; } if (sk) { ++jl; if (jl == 2) { sk = 0; jl = 0; } } if (!sk && !zs) { is1 = 1 - is1; } zs = 0; } return 0; } ``` # upd1: ``` #include<bits/stdc++.h> #include<windows.h> #define clr system("cls") #define int long long using namespace std; string dj[] = {"放大镜", "华子", "小刀", "饮料", "手铐"}, zd[] = {"空弹", "实弹"}, pl1, pl2; bool is1 = 1, sk, zs; //sk:手铐 zs:打自己 int yu, kb, sd, b1 = 2, win1, win2, b2 = 2, ls = 1, hit = 1, mxb = 2, jl; //jl:记录被挂手铐后局数 vector<int>dj1, dj2; queue<int>g;//枪械装弹 inline void dist(int atime, int st = 20, int shake_distance = 10) { //窗口抖动,atime是默认时间,st是等待抖动时间,第三个是抖动幅度 int x, y, width, height; int counts = atime / st / 2; RECT rect; HWND window = NULL, oldwindow = NULL; for (int i = 1; i <= counts; i++) { window = GetForegroundWindow(); if (window != oldwindow) { GetWindowRect(window, &rect); x = rect.left; y = rect.top; width = rect.right - x; height = rect.bottom - y; oldwindow = window; } MoveWindow(window, x - shake_distance, y, width, height, TRUE);//移动窗口 Sleep(st); MoveWindow(window, x + shake_distance, y, width, height, TRUE); Sleep(st); } } inline void split() { clr; int shake_time = 20, shake_distance = 10, x, y, width, height; RECT rect; HWND window = NULL, oldwindow = NULL; clr; for (int i = 1; i <= 300; i++) { window = GetForegroundWindow(); if (window != oldwindow) { GetWindowRect(window, &rect); x = rect.left; y = rect.top; width = rect.right - x; height = rect.bottom - y; oldwindow = window; } MoveWindow(window, x - shake_distance, y, width, height, TRUE); Sleep(shake_time); MoveWindow(window, x + shake_distance, y, width, height, TRUE); Sleep(shake_time); if (i == 1)cout << "你"; else if (i == 20)cout << "怎"; else if (i == 40)cout << "么"; else if (i == 60)cout << "这"; else if (i == 80)cout << "么"; else if (i == 100)cout << "不"; else if (i == 120)cout << "听"; else if (i == 140)cout << "话"; else if (i == 160)cout << "呢"; else if (i == 170)cout << "?"; else if (i == 180)cout << "你"; else if (i == 200)cout << "让"; else if (i == 220)cout << "我"; else if (i == 240)cout << "要"; else if (i == 260)cout << "消"; else if (i == 280)cout << "失"; else if (i == 300)cout << "了"; } int t = 250; while (t--) {//循环输出ERROR cout << "ERROR "; Sleep(3); } t = 20; while (t--)system("start cmd");//弹出二十个窗口 t = 20; while (t--) { MessageBox(NULL, "ERROR!", "ERROR", MB_OK | MB_ICONWARNING); } exit(0); } void hitt(int p) { cout << "你要打谁?(0:自己 1:另一名玩家):"; string ht1; bool ht; cin >> ht1; if (ht1.size() > 1 || !isdigit(ht1[0])) { cout << "请重新输入!\n"; } ht = (ht1[0] - 48); int k = g.front(); if (ht) { for (int cas = 1; cas <= 3; cas++) { cout << '.'; Sleep(400); } clr; if (k) { dist(400); cout << "当前是实弹!" ; if (p == 1) { cout << pl2; b2 -= hit; } else { cout << pl1; b1 -= hit; } cout << "受到了" << hit << "点伤害!\n"; --sd; } else { cout << "很遗憾,当前是空包弹。\n"; --kb; } } else { zs = 1; if (k) { dist(400); cout << "哦豁,当前是实弹!" ; if (p == 1) { cout << pl1; b1 -= hit; } else { cout << pl2; b2 -= hit; } cout << "受到了" << hit << "点伤害!\n"; --sd; } else { cout << "恭喜你,当前是空包弹!\n"; --kb; } } } inline void daoj(int p) {//显示道具 int total = 0; if (p == 1) { cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj1) { cout << (++total) << "号:" << dj[v] << " "; } } if (p == 2) { cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj2) { cout << (++total) << "号:" << dj[v] << " "; } } } inline void dontagain() { clr; Sleep(500); for (int i = 0; i <= 2; i++) { cout << '.'; Sleep(1000); } cout << "够"; Sleep(2000); cout << "了!!!\n"; dist(800); system("pause"); cout << "你再这样程序就出 bug 了!\n"; system("pause"); clr; } inline void sc() {//上道具,子弹打空时执行该函数 int k = rand() % 5 + 1; cout << "现在开始上道具!\n" << pl1 << "(p1)获得了:"; for (int i = 1; i <= k; i++) {//随机在数组中进行抽取 int t = rand() % 5;//选择下标 dj1.push_back(t);//储存信息下标 cout << dj[t] << ' ';//输出对应的道具 Sleep(500); } while (dj1.size() > 8)dj1.pop_back(); cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj1) { cout << dj[v] << ' '; } cout << '\n'; Sleep(1200); system("pause"); clr; cout << pl2 << "(p2)获得了:"; for (int i = 1; i <= k; i++) { int t = rand() % 5; dj2.push_back(t); cout << dj[t] << ' '; Sleep(500); } while (dj2.size() > 8)dj2.pop_back(); cout << "\n现在" << pl2 << "(p2)拥有道具:\n"; for (auto v : dj2) { cout << dj[v] << ' '; } cout << '\n'; Sleep(1200); system("pause"); clr; kb = rand() % 6 + 1;//随机出空包弹数量 sd = rand() % 6 + 1;//随机出实弹数量 yu = (kb + sd); int tk = kb, ts = sd; cout << "空包弹有:" << kb << " 实弹有:" << sd << '\n'; cout << "装填子弹中......\n"; srand(time(0)); for (int i = 1; i <= yu; i++) { bool k = rand() % 2;//以50%的概率公平公正 if (k) { if (tk) {//如果目标空包弹还有没被装填 g.push(0); --tk; } else {//否则只好装填实弹 g.push(1); --ts; } } else { if (ts) {//同理 g.push(1); --ts; } else { g.push(0); --tk; } } } Sleep(350); } inline void drink() {//饮料的代码,由于是通用的就放出来了 int tmpo = g.front(); g.pop(); cout << "你选择了饮料!退出的这发子弹是:" << zd[tmpo] << "!\n"; --yu; if (tmpo) { --sd; } else --kb; Sleep(1500); } inline void over() { Sleep(1000); system("pause"); clr; ++ls; } inline void fdj() { cout << "当前子弹:"; cout << zd[g.front()] << '\n'; Sleep(1500); } inline void hitd(int p) { if ((p == 1 && !dj1.size() ) || (p == 2 && !dj2.size())) { hitt(p); return; } if (p == 1)daoj(1); if (p == 2)daoj(2); cout << "\n请告诉我要使用道具在你拥有的的编号(从1开始;输入0代表不使用道具):"; int bh; string inp; ques: ; cin >> inp; if (inp.size() > 1) { cout << "不合法!\n请重新输入!"; goto ques; } if (!isdigit(inp[0])) { cout << "不合法!\n请重新输入!"; goto ques; } bh = inp[0] - 49; if (bh == -1)hitt(p); if (p == 1 && (bh > dj1.size() - 1 || bh < 0)) { cout << "不合法!\n请重新输入!1"; goto ques; } if (p == 2 && (bh > dj2.size() - 1 || bh < 0)) { cout << "不合法!\n请重新输入!2"; goto ques; } int tmp; if (p == 1) { tmp = dj1[bh]; dj1.erase(dj1.begin() + bh); } if (p == 2) { tmp = dj2[bh]; dj2.erase(dj2.begin() + bh); } switch (tmp) { case 0: { fdj(); break; } case 1: { if (p == 1) { if (b1 == mxb) { cout << "达到上限值,无法回复。"; } else { ++b1; cout << "你选择了华子!\n" << pl1 << "回复1点血量,现在他有" << b1 << "条生命值!"; } } if (p == 2) { if (b2 == mxb) { cout << "达到上限值,无法回复。"; } else { ++b2; cout << "你选择了华子!\n" << pl2 << "回复1点血量,现在他有" << b2 << "条生命值!"; } } Sleep(1500); break; } case 2: { if (hit == 2) { cout << "你在本回合已经使用了小刀,不能再使用了!将会新加小刀至末尾。\n"; if (p == 1)dj1.push_back(2); if (p == 2)dj2.push_back(2); } else { hit = 2; cout << "你选择了小刀!这一回合将造成双倍伤害!\n"; } Sleep(1500); break; } case 3: { drink(); break; } case 4: { if (sk) { cout << "别人已经被铐起来了.....将把手铐移至末尾!\n"; if (p == 1)dj1.push_back(4); if (p == 2)dj2.push_back(4); } else { sk = 1; jl = 0; cout << "你选择了手铐!下一回合敌人将无法移动!\n"; } Sleep(1500); break; } if (!yu) { sc(); } if (p == 1)hitd(1); else hitd(2); } hitt(p); g.pop(); Sleep(1000); --yu; hit = 1; return; } signed main() { cout << "玩家1的名字:"; cin >> pl1; int cnt1 = 0, cnt2 = 0; while (pl1 == "上帝" || pl1 == "GOD" || pl1 == "GOd" || pl1 == "GoD" || pl1 == "God" || pl1 == "gOD" || pl1 == "goD" || pl1 == "gOd" || pl1 == "god") { if (cnt1 == 6) { dontagain(); } if (cnt1 == 12) { split(); } cout << "ERROR 010101000110100001100101001000000100011101101111011001000010000001101000011000010111001100100000011000100110010101100101011011100010000001100100011001010110000101100100001011000111100101101111011101010010000001100011011000010110111000100111011101000010000001101110011000010110110101100101001000000111100101101111011101010111001000100000011011100110100101100011011010110110111001100001011011010110010100100000001000100100011101101111011001000010001000101110"; cout << "\n你需要重新输入一个名字......\n"; ++cnt1; cin >> pl1; } cout << "玩家2的名字:"; cin >> pl2; while (pl2 == "上帝" || pl2 == "GOD" || pl2 == "GOd" || pl2 == "GoD" || pl2 == "God" || pl2 == "gOD" || pl2 == "goD" || pl2 == "gOd" || pl2 == "god") { if (cnt2 == 6) { dontagain(); } if (cnt2 == 12) { split(); } cout << "ERROR 010101000110100001100101001000000100011101101111011001000010000001101000011000010111001100100000011000100110010101100101011011100010000001100100011001010110000101100100001011000111100101101111011101010010000001100011011000010110111000100111011101000010000001101110011000010110110101100101001000000111100101101111011101010111001000100000011011100110100101100011011010110110111001100001011011010110010100100000001000100100011101101111011001000010001000101110"; cout << "\n你需要重新输入一个名字......\n"; cin >> pl2; } clr; cout << "现在讲解规则:\n小刀:可以让下一发子弹伤害变成两倍\n华子:可以回一滴血\n放大镜:你可以查看当前子弹\n饮料:可以退一发子弹\n手铐:可以限制对方一回合动不了\n一共有3轮。\n"; Sleep(1200); system("pause"); clr; cout << "注意了,这个版本如果你的道具大于8个会把后面的道具删掉。\n"; Sleep(1000); system("pause"); clr; start: ; if (ls == 4) { clr; cout << "局数已到,游戏结束。\n"; if (win1 > win2) { cout << "p1赢了!"; } else cout << "p2赢了!"; Sleep(2000); system("pause"); exit(0); } //初始化 b1 = 2 * ls; b2 = 2 * ls; hit = 1; zs = 0; sk = 0; yu = 0; kb = 0; sd = 0; jl = 0; mxb = b1; dj1.clear(); dj2.clear(); while (g.size())g.pop(); cout << "第" << ls << "局\n目前比分(p1 : p2):" << win1 << " : " << win2 << '\n'; Sleep(1200); clr; while (1) { clr; srand(time(0)); if (!yu) { sc(); } cout << "\n现在" << pl1 << "(p1)拥有道具:\n"; for (auto v : dj1) { cout << dj[v] << ' '; } cout << "\n现在" << pl2 << "(p2)拥有道具:\n"; for (auto v : dj2) { cout << dj[v] << ' '; } cout << "\n生命值(p1,p2):" << b1 << "," << b2 << "\n"; cout << "空包弹有:" << kb << "发,实弹有:" << sd << "发\n"; if (is1) { cout << "现在是" << pl1 << "(p1)的回合\n"; hitd(1); } else { cout << "现在是" << pl2 << "(p2)的回合\n"; hitd(2); } if (b1 <= 0) { clr; cout << pl2 << "赢了\n"; ++win2; over(); goto start; } if (b2 <= 0) { clr; cout << pl1 << "赢了\n"; ++win1; over(); goto start; } if (sk) { ++jl; if (jl == 2) { sk = 0; jl = 0; } } if (!sk && !zs) { is1 = 1 - is1; } zs = 0; } return 0; } ```
Loading...