【小游戏】狼人杀1.0

至于作弊,请看最后一段。

代码如下:

#include
#include
#include
#define sys system("cls");
using namespace std;
struct role{
	bool hp=0;
	int shen;
	int to[11]{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
	int wanto=-1;
	int tod=0;
};
role r[12];
int rad(){
	int lsbl;
	time_t t;
	for(;1;){
		srand(time(&t));
		lsbl=rand()%12;
		if(!(r[lsbl].hp)){
			return lsbl;
		}
	}
}
int btob(int b[12]){
	int maxx=0;
	int maxn,i;
	for(i=0;i<12;i++){
		if(maxx>kg;
	sys;
	time_t d;
	int p=0,l=0,w=0,y=0,j=0,lr=0,l_[l]{},w_=-1,y_=-1,kill=-1,jui=1,du=-1,dud=1,cha=-1,lsbl=0,good,mel=0,hhpp=12,bto[12]{},BTO;
	srand(time(&d));
	int hao;
	hao=rand()%12;
	for(int i=0;i<12;i++){
		q:switch(rand()%6){
			case 0:
				if(p<=4){
					p++;
					r[i].shen=0;
				}else{
					goto q;
				}
				break;
			case 1:
				if(l<=2){
					l++;
					r[i].shen=1;
				}else{
					goto q;
				}
				break;
			case 2:
				if(w<=0){
					w++;
					r[i].shen=2;
				}else{
					goto q;
				}
				break;
			case 3:
				if(y<=0){
					y++;
					r[i].shen=3;
				}else{
					goto q;
				}
				break;
			case 4:
				if(j<=0){
					j++;
					r[i].shen=4;
				}else{
					goto q;
				}
				break;
			case 5:
				if(lr<=1){
					lr++;
					r[i].shen=5;
				}else{
					goto q;
				}
				break;
		}
	}
	if(kg){
		int sh;
        cerr<<"身份";
		cin>>sh;
		for(int i=0;i<12;i++){
			if(r[i].shen==sh){
				hao=i;
				break;
			}
		}
	}
	good=hhpp-l;
    system("cls");
	cerr<<"你的号码是(0-11):"<good){
			cerr<<"游戏结束!\n";
			if(r[hao].shen==1){
				cerr<<"成功";
			}else{
				cerr<<"失败";
			}
			break;
		}
		for(i=0,q=0;i<12;i++){
			if(r[i].hp)
				continue;
			if(r[i].shen==1){
				l_[q]=i;
				q++;
			}
			if(r[i].shen==2){
				w_=i;
			}
			if(r[i].shen==3){
				y_=i;
			}
		}
		if(r[hao].shen==1){
			cerr<<"杀谁?\n";
			cin>>kill;
		}else{
			k:kill=rand()%12;
			if(r[kill].hp==1||r[kill].shen==1){
				goto k;
			}
		}
		if(r[hao].shen==2){
			cerr<<"今天"<>jui;
			if(jui==0){
				kill=-1;
			}else{
				if(dud==1){
					cerr<<"毒?\n1.不毒0.毒\n";
					cin>>du;
					dud=0;
				}
				if(du==0){
					duu:cerr<<"毒谁?\n";
					cin>>du;
					if(du<0||du>11||du==hao){
						sys;
						goto duu;
					}else{
						r[du].hp=1;
					}
				}
				du=-1;
			}
		}else{
			if(jui==1){
				jui=0;
				kill=-1;
			}
		}
		if(r[hao].shen==3){
			cerr<<"查谁?\n";
			cin>>cha;
			if(r[cha].shen==1){
				cerr<<"狼人!\n";
			}else{
				cerr<<"好人.\n";
			}
			Sleep(2000);
		}else{
			goii:srand(time(&d));
			int ii=rand()%12;
			if(r[ii].hp!=1){
				if(r[ii].shen==1){
					r[y_].wanto=ii;
				}
			}else{
				goto goii;
			}
		}
		sys;
		if(kill!=-1){
			r[kill].hp=1;
		}
		if(du!=-1){
			r[du].hp=1;
		}
		if(kg&&gon){
			cerr<<"狼:";
			for(int i=0;i<12;i++){
				if(r[i].shen==1){
					cerr<>q;
			if(q=='y'||q=='Y'){
				cerr<<"谁?\n";
				cin>>lsbl;
				if(r[lsbl].shen==1){
					r[lsbl].hp=1;
					cerr<<"执法成功!\n";
				}else{
					r[hao].hp=1;
					cerr<<"走火!\n";
				}
			}
		}
		if(r[hao].shen==1){
			cerr<<"队友:\n";
				for(int i=0;i<12;i++){
					if(r[i].shen==1){
						cerr<>lsbl;
				r[lsbl].tod++;
			}else{
				if(r[i].wanto!=-1){
					r[r[i].wanto].to[r[r[i].wanto].tod]=i;
					r[r[i].wanto].tod++;
					bto[r[i].wanto]++;
					cerr<"<"<"<>lsbl;
				if(!(lsbl>11||lsbl<0)){
					r[lsbl].hp=1;
				}
			}
		}
		Sleep(2500);
		for(int i=0;i<12;i++){
			r[i].tod=0;
			for(int i1=0;i1<11;i1++){
				r[i].to[i1]=-1;
			}
		}
		BTO=-1;
	}
}

关于开挂:

        开始时,按1,即开挂。

        

 身份表:

        0:平民

        1:狼人

        2:女巫

        3:预言家

        4:警长

        5:猎人

攻略后面会出。

希望大家能献出自己宝贵的赞,你们的赞是对我最大的鼓励,

谢谢大家能看到最后,在下感激不尽。

你可能感兴趣的:(小游戏,c++,一些有趣的东西,c++)