一个好玩的游戏
  • 板块题目总版
  • 楼主xzz_0611
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/30 10:41
  • 上次更新2023/12/30 10:52:31
查看原帖
一个好玩的游戏
1005749
xzz_0611楼主2023/12/30 10:41

更新日志

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;
}
2023/12/30 10:41
加载中...