Beta 1.2
#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;
}
#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;
}
开发者:Federico2903 & Murasame & quanac-lcx