三国杀C++(未完结)

#include <bits/stdc++.h>
using namespace std;
#define int long long
int n; 
struct node {
    string hs,pm;
    string s;
};
queue<node> p;
void zjm();
void sc() {
    node a[10005];
    a[1].hs="黑桃",a[1].pm="杀",a[1].s="7"; 
    a[2].hs="黑桃",a[2].pm="杀",a[2].s="8";
    a[3].hs="黑桃",a[3].pm="杀",a[3].s="8";
    a[4].hs="黑桃",a[4].pm="杀",a[4].s="9"; 
    a[5].hs="黑桃",a[5].pm="杀",a[5].s="9";
    a[6].hs="黑桃",a[6].pm="杀",a[6].s="10";
    a[7].hs="黑桃",a[7].pm="杀",a[7].s="10";
    a[8].hs="梅花",a[8].pm="杀",a[8].s="2";
    a[9].hs="梅花",a[9].pm="杀",a[9].s="3";
    a[10].hs="梅花",a[10].pm="杀",a[10].s="4";
    a[11].hs="梅花",a[11].pm="杀",a[11].s="5";
    a[12].hs="梅花",a[12].pm="杀",a[12].s="6";
    a[13].hs="梅花",a[13].pm="杀",a[14].s="7";
    a[14].hs="梅花",a[14].pm="杀",a[14].s="7";
    a[15].hs="梅花",a[15].pm="杀",a[15].s="8";
    a[16].hs="梅花",a[16].pm="杀",a[16].s="8";
    a[17].hs="梅花",a[17].pm="杀",a[17].s="9";
    a[18].hs="梅花",a[18].pm="杀",a[18].s="9";
    a[19].hs="梅花",a[19].pm="杀",a[19].s="10";
    a[20].hs="梅花",a[20].pm="杀",a[20].s="10";
    a[21].hs="梅花",a[21].pm="杀",a[21].s="J";
    a[22].hs="梅花",a[22].pm="杀",a[22].s="J";
    a[23].hs="红桃",a[23].pm="杀",a[23].s="10"; 
    a[24].hs="红桃",a[24].pm="杀",a[24].s="10";
    a[25].hs="红桃",a[25].pm="杀",a[25].s="J";
    a[26].hs="方块",a[26].pm="杀",a[26].s="6"; 
    a[27].hs="方块",a[27].pm="杀",a[27].s="7";
    a[28].hs="方块",a[28].pm="杀",a[28].s="8";
    a[29].hs="方块",a[29].pm="杀",a[29].s="9";
    a[30].hs="方块",a[30].pm="杀",a[30].s="10";
    a[31].hs="方块",a[31].pm="杀",a[31].s="K";
    a[32].hs="红桃",a[32].pm="火杀",a[32].s="4";
	a[33].hs="红桃",a[33].pm="火杀",a[33].s="7";
	a[34].hs="红桃",a[34].pm="火杀",a[34].s="10";
	a[35].hs="方块",a[35].pm="火杀",a[35].s="4";
	a[36].hs="方块",a[36].pm="火杀",a[36].s="5";
	a[37].hs="黑桃",a[37].pm="雷杀",a[37].s="4";
	a[38].hs="黑桃",a[38].pm="雷杀",a[38].s="5";
	a[39].hs="黑桃",a[39].pm="雷杀",a[39].s="6";
	a[40].hs="黑桃",a[40].pm="雷杀",a[40].s="7";
	a[41].hs="黑桃",a[41].pm="雷杀",a[41].s="8";
	a[42].hs="梅花",a[42].pm="雷杀",a[42].s="5";
	a[43].hs="梅花",a[43].pm="雷杀",a[43].s="6";
	a[44].hs="梅花",a[44].pm="雷杀",a[44].s="7";
	a[45].hs="梅花",a[45].pm="雷杀",a[45].s="8";
	a[46].hs="红桃",a[46].pm="闪",a[46].s="2"; 
	a[47].hs="红桃",a[47].pm="闪",a[47].s="2";
	a[48].hs="红桃",a[48].pm="闪",a[48].s="8";
	a[49].hs="红桃",a[49].pm="闪",a[49].s="9";
	a[50].hs="红桃",a[50].pm="闪",a[50].s="J";
	a[51].hs="红桃",a[51].pm="闪",a[51].s="Q";
	a[52].hs="红桃",a[52].pm="闪",a[52].s="K";
	int i=1,ans=52;
	for(i=1;i<=17;i++) {
		ans++;
		a[ans].hs="方块";
		a[ans].pm="闪";
	}
	a[53].s="2";
	a[54].s="2";
	a[55].s="3";
	a[56].s="4";
	a[57].s="5";
	a[58].s="6";
	a[59].s="6";
	a[60].s="7";
	a[61].s="7";
	a[62].s="8";
	a[63].s="8";
	a[64].s="9";
	a[65].s="10";
	a[66].s="10";
	a[67].s="J";
	a[68].s="J";
	a[69].s="J";
	ans=69;
	for(i=1;i<=9;i++) {
		ans++;
		a[ans].hs="红桃";
		a[ans].pm="桃";
	}
	a[70].s="3";
	a[71].s="4";
	a[72].s="5";
	a[73].s="6";
	a[74].s="6";
	a[75].s="7";
	a[76].s="8";
	a[78].s="9";
	a[79].s="Q";
	ans=79;
	for(i=1;i<=3;i++) {
		ans++;
		a[ans].hs="方块";
		a[ans].pm="桃";
	}
	a[80].s="2";
	a[81].s="3";
	a[82].s="Q";
	int cnt=0;
	bool tong[83];
	memset(tong,false,sizeof(tong));
	srand(time(0));
	while(cnt!=82) {
		int x = rand()%83;
    	if(x!=0) {
    		if(tong[x]==false) {
    			p.push(a[x]);
    			cnt++;
    			tong[x]=true;
			}
		}
	} 
}
/*桃】12张,红桃9张(3/4/5/6/6/7/8/9/Q),方块3张(2/3/Q)。
(6)【酒】5张,黑桃2张(3/9),梅花2张(3/9),方块1张(9)。*/
void sgs() {
    printf("正在生成手牌中...\n");
    sc();
    printf("生成成功!!!");
    Q:printf("请选择本局出战角色:\n");
    printf("1.张飞\n");
    int xh=0;
    scanf("%lld",&xh);
    if(xh==1) {
    	printf("您的技能是:1.锁定技,可以无距离限制且无限出杀\n");
	} else {
		printf("选择无效\n");
		goto Q;
	}
	int xl=5,xl1=5,sl=0,sl1=0;
	node shoupai[85],shoupai1[85];
	while(xl!=0&&xl1!=0) {
		if(p.size()==0) sc();
		for(int i=1;i<=5;i++) {
			shoupai[++sl]=p.front();
			p.pop();
			shoupai1[++sl1]=p.front();
			p.pop();
		} 
		for(int i=1;i<=2;i++) {
			shoupai[++sl]=p.front();
			p.pop();
		}
		int w=1;
		while(w!=0) {
			for(int i=1;i<=sl;i++) {
				cout<<shoupai[i].hs<<" "<<shoupai[i].s<<" "<<shoupai[i].pm<<endl;
			}
			printf("0.结束出牌阶段");
			scanf("%lld",&w);
			if(shoupai[w].pm=="杀"){
				
			} else if(shoupai[w].pm=="火杀") {
				
			} else if(shoupai[w].pm=="雷杀"){
				
			} else if(shoupai[w].pm=="桃") {
				
			} else if(w==0) {
				break;
			} else {
				printf("输入无效\n");
			}
		}
	} 
	if(xl==0) {
		printf("YOU LOSE!\n"); 
	} else {
		printf("YOU WIN!\n");
	}
	zjm();
}
void pq() {
    printf("------------------------------\n");
    printf("游戏信息\n");
    printf("游戏版本:1.0.0\n,更新日期2024.7.5");
    printf("原创:CSDN:xieda2024,暂无更新版本\n"); 
    printf("感谢你对这款游戏的大力支持\n");
    system("pause");
    zjm();
}
void zjm() {
    system("cls");
    Q:printf("欢迎来到三国杀主大厅\n");
    printf("1.开始游戏\n");
    printf("2.版权\n");
    int sr;
    scanf("%lld",&sr);
    if(sr==1) {
        sgs();
    } 
    else if(sr==2) {
        pq();
    } else {
    	printf("操作无效\n");
    	system("pause");
    	zjm();
	}
}

signed main() {
    zjm();
    return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值