游戏·抓豆
_lovely_
·
·
个人记录
#include<bits/stdc++.h>
using namespace std;
#define wd cout<<"1.挖豆,可以使你的豆子数量+1。"<<endl
#define cq cout<<"2.出枪:用枪攻击对方需要2个豆。"<<endl
#define cs cout<<"3.出蛇:用蛇攻击对方需要3个豆"<<endl
#define fz cout<<"4.防御子弹:防御对方枪的攻击"<<endl
#define fs cout<<"5.防御对方蛇的攻击。"<<endl
#define qn cout<<"6.全能防御:免疫对方的物理攻击,但不能免疫阿瓦达索命咒。需要1个豆。"<<endl
#define hx cout<<"7.回血药水:回满血量,需要2个豆"<<endl
#define jx cout<<"8.加血:加满血量并增加一点最大生命值。需要3个豆"<<endl
#define fdm cout<<"9.召唤伏地魔:直接秒s对方。需要6个豆。"
#define hlbt cout<<"10.召唤哈利波特:如果对方出了伏地魔则可以防御住阿瓦达索命咒,但是由于他能力有限,还是会受到1点魔法伤害。否则则哈利波特发射魔法,可以对对方造成1点伤害。需要3个豆。"<<endl
int x1=3,x2=3,zd1=2,zd2=2;
bool ga(int t1,int t2)
{
if(t2==2&&t1==4)return 0;
else if(t2==3&&t1==5)return 0;
else if(t1==6)return 0;
return 1;
}
bool ifgj(int k)
{
return (k==2||k==3);
}
string zs(int k){
if(k==1)return "挖豆";
else if(k==2)return "出枪";
else if(k==3)return "出蛇";
else if(k==4)return "防御子弹";
else if(k==5)return "防御蛇";
else if (k==6)return "全能防御";
else if(k==7) return "回血";
else if(k==8) return "加血" ;
else if(k==9) return "召唤伏地魔";
else if(k==10) return"召换哈利波特";
return "违反规则";
}
void gameover()
{
if(x1<=0)cout<<"恭喜"<<2<<"号玩家胜利!"<<1<<"号玩家还要继续努力!",system("pause");
else if(x2<=0)cout<<"恭喜"<<1<<"号玩家胜利!"<<2<<"号玩家还要继续努力!",system("pause");
}
int main()
{
cout<<"欢迎来到抓豆游戏!每人有3滴血。"<<endl;
cout<<"更新日志:6.1儿童节做出游戏并更新回血药水、加血药水。\n";
cout<<"游戏规则,每次你可以选择出招以下8种的其中一种:"<<endl<<"1.挖豆,可以使你的豆子数量+1。"<<endl<<"2.出枪:出枪需要2个豆子,如果你的豆子不足2个则无法出枪。枪的攻击力为1"<<endl<<"3.出蛇:出蛇需要5个豆子,如果你的豆子不足5个则无法出蛇。蛇的攻击力为2"<<endl<<"4.防御子弹:不消耗豆子,可以防御对方枪的攻击。"<<endl<<"5.防御毒素:可以防御对方蛇的攻击。"<<endl<<"6.全能防御:消耗1个豆子,免疫对方的一切攻击。"<<endl<<"7.回血,回满血量。需要2个豆。"<<endl<<"8.加血药水:无论你现在多少血,都能让你的血回满并增加1滴最大生命值。也就是说,你可以有不止两滴血。需要3个豆。"<<endl<<"9.召唤伏地魔攻击对方,伏地魔可以发射阿瓦达索命咒,无论对方多少血都将被直接秒s。除非对方召唤哈利波特。需要6个豆。"<<endl<<"10.召唤哈利波特,如果对方出了伏地魔则可以防御住阿瓦达索命咒,但是由于他能力有限,还是会受到1点魔法伤害。否则则哈利波特发射魔法,可以对对方造成1点伤害。需要3个豆。";
cout<<endl<<"请仔细阅读,清楚的话请按任意键。";
system("pause");
system("cls");
int t1d=2,t2d=2,c1,c2,m1;
while(1)
{
cout<<"请1号玩家出招:"<<endl;
wd;
if(t1d>=2)cq;
if(t1d>=3)cs;
fz;
fs;
if(t1d>=1)qn;
if(t1d>=2)hx;
if(t1d>=3)jx;
if(t1d>=6)fdm;
if(t1d>=3)hlbt;
cout<<"请输入对应招数的数字:";
cin>>c1;
if((t1d<2&&c1==2)||(t1d<3&&c1==3)||(t1d<1&&c1==6)||(t1d<3&&c1==7)||(t1d<4&&c1==8)||(t1d<6&&c1==9)||(t1d<3&&c1==10)||c1<1||c1>10)cout<<"1号玩家违反规则,本轮操作无效。",c1=0,system("pause");
if(c1==2)t1d-=2;
else if(c1==3)t1d-=3;
else if(c1==6)t1d--;
else if(c1==7)t1d-=2;
else if(c1==8)t1d-=3;
else if(c1==9)t1d-=6;
else if(c1==10)t1d-=3;
system("cls");
cout<<"请2号玩家出招:"<<endl;
wd;
if(t2d>=2)cq;
if(t2d>=3)cs;
fz;
fs;
if(t2d>=1)qn;
if(t2d>=3)hx;
if(t2d>=4)jx;
if(t2d>=6)fdm;
if(t2d>=3)hlbt;
cout<<"请输入对应招数的数字:";
cin>>c2;
if((t2d<2&&c2==2)||(t2d<3&&c2==3)||(t2d<1&&c2==6)||(t2d<3&&c2==7)||(t2d<4&&c2==8)||(t2d<6&&c2==9)||(t2d<3&&c2==10)||c2<1||c2>10)cout<<"2号玩家违反规则,本轮操作无效。",c2=0,system("pause");
if(c2==2)t2d-=2;
else if(c2==3)t2d-=3;
else if(c2==6)t2d--;
else if(c2==7)t2d-=2;
else if(c2==8)t2d-=3;
else if(c2==9)t2d-=6;
else if(c2==10)t2d-=3;
if (c1==9&&c2!=10)
{
x2=0;gameover();
}
else if (c1!=10&&c2==9)
{
x1=0;gameover();
}
if(c2==9&&c1!=6)
{
if(c1==10)x1--;
else x1=0;
}
else if(c1==9&&c2!=6)
{
if(c2==10)x2--;
else x2=0;
}
else if(c2==10&&c1!=9&&c1!=6&&c1!=3)x1--;
else if(c1==10&&c2!=9&&c2!=6&&c2!=3)x2--;
if(c1==7)x1=zd1;
if(c2==7)x2=zd2;
if(c1==8)zd1++,x1=zd1;
if(c2==8)zd2++,x2=zd2;
system("cls");
cout<<"1号玩家选择了:"<<zs(c1)<<",2号玩家选择了:"<<zs(c2)<<endl;
if(c2==3&&c1==10||c1==3&&c2==10);
else if(ifgj(c1)^ifgj(c2)||(c2==10)||c1==10||c2==9||c1==9)
{
if(ifgj(c1))if(ga(c2,c1)){if(c1==2){x2-=1;}else x2-=2;}
if(ifgj(c2))if(ga(c1,c2)){if(c2==2)x1-=1;else x1-=2;}
}
gameover();if(x1<=0||x2<=0){return 0;}
if(c1==1)t1d++;
if(c2==1)t2d++;
cout<<"本轮双方没人噶屁。\n1号玩家的豆子目前是:"<<t1d<<endl<<"2号玩家目前的豆子是:"<<t2d<<"\n1号玩家的血量是"<<x1<<"\n2号玩家的血量是"<<x2<<endl<<"确认后按任意键开启下一轮。"<<endl;
system("pause");
system("cls");
}
return 0;
}```