2023-12-30 创建该贴
这是一个游戏,有两个人,互相轮流出牌,下面是卡牌介绍:
---------------------------卡牌游戏----------------------------
1、【杀】:扣对方一滴血
2、【天降正义】 :对方所有血扣掉
3、【偷袭】:对方扣两滴血
4、【天打雷劈】:随即一人扣三滴血
5、【桃】:回复一滴血
6、【丹药】:回复两滴血
7、【灵丹妙药】:回满血量
8、【伤敌一千,自损八百】:所有人扣两滴血
#include<bits/stdc++.h>
using namespace std;
int yblood=5,mblood=5,op[5],arr[57]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,3,3,3,3,3,4,4,4,4,5,5,5,5,5,5,5,5,6,6,6,7,7,7,8,8,8,8,8,9,9,9,9,9},a;
bool output(int n,bool flag)
{
system("cls");//清屏
if(flag) cout<<"你出了";
else cout<<"敌方出了";
switch (n)
{
case 1:
{
cout<<"【杀】"<<endl;
break;
}
case 2:
{
cout<<"【天降正义】"<<endl;
break;
}
case 3:
{
cout<<"【偷袭】"<<endl;
break;
}
case 4:
{
cout<<"【天打雷劈】"<<endl;
break;
}
case 5:
{
cout<<"【桃】"<<endl;
break;
}
case 6:
{
cout<<"【丹药】"<<endl;
break;
}
case 7:
{
cout<<"【灵丹妙药】"<<endl;
break;
}
case 8:
{
cout<<"【伤敌一千,自损八百】"<<endl;
break;
}
}
cout<<"你的血量: "<<mblood<<" "<<"敌人的血量: "<<yblood<<endl;
if(mblood<0)
{
cout<<"GAME OVER";
return false;
}
if(yblood<0)
{
cout<<"YOU WIN";
return false;
}
system("pause");//按任意键继续
return true;
}
bool execute(int n,bool flag)
{
srand(time(0));
switch(arr[n])
{
case 1:
{
if(flag) yblood--;
else mblood--;
break;
}
case 2:
{
if(flag) yblood=0;
else mblood=0;
break;
}
case 3:
{
if(flag) yblood-=2;
else mblood-=2;
break;
}
case 4:
{
if(rand()%2) mblood-=3;
else yblood-=3;
break;
}
case 5:
{
if(flag) mblood++;
else yblood++;
break;
}
case 6:
{
if(flag) mblood+=2;
else yblood+=2;
break;
}
case 7:
{
if(flag) mblood=5;
else yblood=5;
break;
}
case 8:
{
mblood-=2;
yblood-=2;
break;
}
}
if(mblood>5) mblood=5;
if(yblood>5) yblood=5;
return output(arr[n],flag);
}
int main()
{
srand(time(0));//随机种子
system("cls");//清屏
cout<<"-----------------卡牌游戏------------------"<<endl<<"|技能牌说明: |"<<endl<<"|1、【杀】:扣对方一滴血 |"<<endl<<"|2、【天降正义】 :对方所有血扣掉 |"<<endl<<"|3、【偷袭】:对方扣两滴血 |"<<endl<<"|4、【天打雷劈】:随即一人扣三滴血 |"<<endl<<"|5、【桃】:回复一滴血 |"<<endl<<"|6、【丹药】:回复两滴血 |"<<endl<<"|7、【灵丹妙药】:回满血量 |"<<endl<<"|8、【伤敌一千,自损八百】:所有人扣两滴血|"<<endl<<"-------------------------------------------"<<endl;//游戏规则介绍
system("pause");//按任意键继续
system("cls");//清屏
while(true)
{
for(int i=0;i<5;i++) op[i]=rand()%52;//随机函数
system("cls");//清屏
cout<<"抽取技能牌:"<<endl<<"1 2 3 4 5"<<endl;
cin>>a;
if(!execute(op[a-1],1)) break;
system("cls");//清屏
cout<<"敌方出牌"<<endl;
system("pause");//按任意键继续
if(!execute(rand()%52,0)) break;//随机函数
}
return 0;
}