• 个人简介

    一觉醒来掉榜6了This person is hard-working and join all contests and homework. 天天分段故障,天天Runtime Error Segmentation fault,服了! 恶魔轮盘赌.cpp

    #include<bits/stdc++.h>
    using namespace std;
    int wdj[7]={0,0,0,0,0,0,0},edj[7]={0,0,0,0,0,0,0};
    string name,zf[2],dj[5]={"        ","小麦果汁"," 放大镜 ","  香烟  ","  小刀  "};
    long long money=180000;
    void game(int mlife,int elife);
    bool emdj(int a[],double jl){
    	bool aa,bb,cc,dd;
    	for(int i=1;i<=6;i++){
    	if(a[i]==1) aa=true;
    	if(a[i]==2) bb=true;
    	if(a[i]==3) cc=true;
    	if(a[i]==4) dd=true;
    	}
    	if(cc) return true;
    	if(dd&&jl>=0.7) return true;
    	if(aa&&jl<=0.3) return true;
    	if(bb&&jl!=0&&jl!=1) return true;
    	return false;
    }
    void zcyx(){
    	cout<<"bilibili:https://space.bilibili.com/1249586598 自己右上角关一下,谢谢支持(*^▽^*)"; 
    } 
    void gameover(int a){
    	int chose;
    	if(a==0) {
    		cout<<"恭喜你,击败了恶魔!接下来"<<endl;
    		cout<<"1.拿着"<<money<<"万走人"<<endl;
    		cout<<"2.继续以获得双倍利润"<<endl;
    		cin>>chose;
    		if(chose==2){
    			game(5,5);
    		}
    		else{
    			zcyx();
    		}
    	}
    	else cout<<"你输了,而且血本无归。"; zcyx();
    }
    void game(int mlife,int elife){
    	int a[1001],slon=(rand()%4)+1,klon=(rand()%4)+1,chose;
    	cout<<"子弹准备中..."<<endl;
    	_sleep(2*1000);
    	for(int i=1;i<=klon;i++){
    		a[i]=0;
    		cout<<zf[a[i]];
    	}
    	for(int i=klon+1;i<=slon+klon;i++){
    		a[i]=1;
    		cout<<zf[a[i]];
    	}
    	cout<<endl;
    	while(slon+klon!=0){
    		int now;
    		bool wdsf=true,emsf=true;
    		while(wdsf==true&&slon+klon!=0){
    			int hit=1;
    			chose=0;
    			now=(rand()%(slon+klon))+1;
    			while(chose!=1&&chose!=2){
    				cout<<"---你拿枪---"<<endl<<"1.打自己"<<endl<<"2.打恶魔"<<endl<<"3.使用道具";
    				cin>>chose;
    				if(chose==3){
    					cout<<"1."<<dj[wdj[1]]<<"2."<<dj[wdj[2]]<<"3."<<dj[wdj[3]]<<endl<<"4."<<dj[wdj[4]]<<"5."<<dj[wdj[5]]<<"6."<<dj[wdj[6]]<<endl;
    					cout<<"1."<<dj[edj[1]]<<"2."<<dj[edj[2]]<<"3."<<dj[edj[3]]<<endl<<"4."<<dj[edj[4]]<<"5."<<dj[edj[5]]<<"6."<<dj[edj[6]]<<endl;
    					int dchose; //道具的选择
    					cin>>dchose;
    					if(wdj[dchose]==0)cout<<"不能为空!"<<endl;
    					if(wdj[dchose]==1){
    						cout<<"退出了"<<zf[a[now]]<<endl;
    						if(a[now]==0) klon--;
    						else slon--; 
    						for(int i=now;i<=slon+klon;i++) a[i]=a[i+1];
    						now=(rand()%(slon+klon))+1;
    						wdj[dchose]=0;
    					}
    					if(wdj[dchose]==2){
    						cout<<"枪中是"<<zf[a[now]]<<endl;
    						wdj[dchose]=0;
    					}
    					if(wdj[dchose]==3){
    						mlife++;
    						cout<<"你的生命" <<mlife<<"恶魔生命"<<elife<<endl;
    						wdj[dchose]=0;
    					}
    					if(wdj[dchose]==4){
    						hit=2;
    						cout<<"现在有双倍伤害!"<<endl; 
    						wdj[dchose]=0;
    					}
    				}
    			}
    			
    			if(chose==1&&a[now]==1){
    				//cout<<"*****"<<' '<<a[1]<<' '<<a[2]<<' '<<a[3]<<' '<<a[4]<<now;
    				wdsf=false;
    				mlife-=hit;
    				_sleep(1*1000);
    				cout<<"$%%^%#%@&^$$%@^$^^@&&^%@#$%!$%%$%&!##$&*#%^*#^"<<endl<<"^&$*@&^$@$(((一阵炸裂的音效响过)))@&$^*&%&@&&#"<<endl<<"^#&&#%^&%!$#*%@*$@%@*%*%$^%&*%*@&*%&%*&@%*&*@&"<<endl;
    				cout<<"你的生命" <<mlife<<"恶魔生命"<<elife<<endl;
    				slon--;
    				hit=1;
    				if(mlife<=0) gameover(1);return; 
    			}
    			else if(chose==2&&a[now]==1){
    				//
    				//cout<<"*****"<<' '<<a[1]<<' '<<a[2]<<' '<<a[3]<<' '<<a[4]<<now;
    				
    				elife-=hit;
    				_sleep(1*1000);
    				cout<<"$%%^%#%@&^$$%@^$^^@&&^%@#$%!$%%$%&!##$&*#%^*#^"<<endl<<"^&$*@&^$@$(((一阵炸裂的音效响过)))@&$^*&%&@&&#"<<endl<<"^#&&#%^&%!$#*%@*$@%@*%*%$^%&*%*@&*%&%*&@%*&*@&"<<endl;
    				cout<<"你的生命" <<mlife<<"恶魔生命"<<elife<<endl;
    				slon--;
    				hit=1;
    				if(elife<=0) gameover(0);return; 
    			}
    			else if(chose==1&&a[now]==0){
    				//cout<<"*****"<<' '<<a[1]<<' '<<a[2]<<' '<<a[3]<<' '<<a[4]<<now;
    				_sleep(1*1000);
    				cout<<"是空蛋"<<endl;
    				klon--;
    			}
    			else if(chose==2&&a[now]==0){
    				//cout<<"*****"<<' '<<a[1]<<' '<<a[2]<<' '<<a[3]<<' '<<a[4]<<now;
    				_sleep(1*1000);
    				cout<<"是空蛋"<<endl;
    				wdsf=false;
    				klon--;
    			}
    			for(int i=now;i<=slon+klon;i++){
    				a[i]=a[i+1];
    			}
    		}
    		while(emsf==true&&slon+klon!=0){
    			int hit=1;
    			now=(rand()%(slon+klon))+1;
    			double sjl=(slon*1.0)/((slon+klon)*1.0);  //实弹比例
    			for(int i=1;i<=6;i++){
    				bool aa=false,bb=false,cc=false,dd=false,aa_=0,bb_=0,cc_=0,dd_=0;
    				for(int j=1;j<=6;j++){
    					if(edj[j]==1)aa=true;
    					if(edj[j]==2)bb=true;
    					if(edj[j]==3)cc=true; 
    					if(edj[j]==4)dd=true; 
    				}
    				if(cc){
    					cout<<"恶魔使用了smoke回血...";
    					_sleep(1*1000);
    					cout<<endl<<"你的生命" <<mlife<<"恶魔生命"<<++elife<<endl;
    					for(int i=1;i<=6;i++){
    						if(edj[i]==3) {
    							edj[i]=0;
    							break;
    						}
    					}
    					cout<<"1."<<dj[edj[1]]<<"2."<<dj[edj[2]]<<"3."<<dj[edj[3]]<<endl<<"4."<<dj[edj[4]]<<"5."<<dj[edj[5]]<<"6."<<dj[edj[6]]<<endl;
    				}
    				if(aa&&sjl<=0.3){
    					cout<<"恶魔饮酒退蛋..."<<endl<<"退出了"<<zf[a[now]]<<endl;
    					_sleep(1*1000);
    					if(a[now]==0) klon--;
    					else slon--; 
    					for(int i=now;i<=slon+klon;i++) a[i]=a[i+1];
    					now=(rand()%(slon+klon))+1;
    					sjl=(slon*1.0)/((slon+klon)*1.0);
    					for(int i=1;i<=6;i++){
    						if(edj[i]==1) {
    							edj[i]=0;
    							break;
    						}
    					}
    					cout<<"1."<<dj[edj[1]]<<"2."<<dj[edj[2]]<<"3."<<dj[edj[3]]<<endl<<"4."<<dj[edj[4]]<<"5."<<dj[edj[5]]<<"6."<<dj[edj[6]]<<endl;
    				}
    				if(bb&&sjl!=0&&sjl!=1){
    					cout<<"恶魔使用了放大镜..."<<endl;
    					_sleep(1*1000);
    					if(a[now]==0) sjl=0;
    					else sjl=1;
    					for(int i=1;i<=6;i++){
    						if(edj[i]==2) {
    							edj[i]=0;
    							break;
    						}
    					}
    					cout<<bb_; 
    					cout<<"1."<<dj[edj[1]]<<"2."<<dj[edj[2]]<<"3."<<dj[edj[3]]<<endl<<"4."<<dj[edj[4]]<<"5."<<dj[edj[5]]<<"6."<<dj[edj[6]]<<endl;
    				}
    				if(dd&&sjl>=0.7&&sjl<=1){
    					cout<<"恶魔使用了小刀...";
    					_sleep(1*1000);
    					cout<<endl<<"恶魔现在有双倍伤害!"<<endl;
    					sjl=1.1;
    					hit++;
    					for(int i=1;i<=6;i++){
    						if(edj[i]==4) {
    							edj[i]=0;
    							break;
    						}
    					}
    					cout<<dd_;
    					cout<<"1."<<dj[edj[1]]<<"2."<<dj[edj[2]]<<"3."<<dj[edj[3]]<<endl<<"4."<<dj[edj[4]]<<"5."<<dj[edj[5]]<<"6."<<dj[edj[6]]<<endl;
    				}
    			}
    			if(sjl>0.5){
    				//cout<<"*****"<<sjl<<' '<<a[1]<<' '<<a[2]<<' '<<a[3]<<' '<<a[4]<<' '<<a[5]<<' '<<a[6]<<' '<<now;
    				_sleep(2*1000);
    				cout<<"恶魔将枪指向了你"<<endl;
    				if(a[now]==0){
    					_sleep(1*1000);
    					cout<<"是空蛋"<<endl;
    					emsf=false;
    					klon--;
    				}
    				else{
    					_sleep(1*1000);
    					mlife-=hit;
    					cout<<"$%%^%#%@&^$$%@^$^^@&&^%@#$%!$%%$%&!##$&*#%^*#^"<<endl<<"^&$*@&^$@$(((一阵炸裂的音效响过)))@&$^*&%&@&&#"<<endl<<"^#&&#%^&%!$#*%@*$@%@*%*%$^%&*%*@&*%&%*&@%*&*@&"<<endl;
    					cout<<"你的生命" <<mlife<<"恶魔生命"<<elife<<endl;
    					hit=1;
    					slon--;
    					if(mlife<=0) gameover(1);return; 
    				}
    			}
    			else{
    				//cout<<"*****"<<sjl<<' '<<a[1]<<' '<<a[2]<<' '<<a[3]<<' '<<a[4]<<' '<<a[5]<<' '<<a[6]<<' '<<now;
    				_sleep(2*1000);
    				cout<<"恶魔将枪指向了自己"<<endl;
    				if(a[now]==0){
    					_sleep(1*1000);
    					cout<<"是空蛋"<<endl;
    					klon--;
    				}
    				else{
    					_sleep(1*1000);
    					elife-=hit;
    					cout<<"$%%^%#%@&^$$%@^$^^@&&^%@#$%!$%%$%&!##$&*#%^*#^"<<endl<<"^&$*@&^$@$(((一阵炸裂的音效响过)))@&$^*&%&@&&#"<<endl<<"^#&&#%^&%!$#*%@*$@%@*%*%$^%&*%*@&*%&%*&@%*&*@&"<<endl;
    					cout<<"你的生命" <<mlife<<"恶魔生命"<<elife<<endl;
    					emsf=false;
    					hit=1;
    					slon--;
    					if(elife<=0) gameover(0);return; 
    				}
    			}
    			for(int i=now;i<=slon+klon;i++){
    				a[i]=a[i+1];
    			}
    		}
    	}
    	_sleep(1*1000);
    	cout<<"道具抽取环节(p≧w≦q)"<<endl;
    	_sleep(1*1000);
    	int zwdj=4,zedj=4;
    	for(int i=1;zwdj>=1&&i<=6;i++){
    		if(a[i]==0){
    			i++;
    		}
    		wdj[i]=(rand()%(4))+1;zwdj--;
    	}
    	for(int i=1;zedj>=1&&i<=6;i++){
    		if(a[i]==0){
    			i++;
    		}
    		edj[i]=(rand()%(4))+1;zedj--;
    	}
    	cout<<"1."<<dj[wdj[1]]<<"2."<<dj[wdj[2]]<<"3."<<dj[wdj[3]]<<endl<<"4."<<dj[wdj[4]]<<"5."<<dj[wdj[5]]<<"6."<<dj[wdj[6]]<<endl;
    	cout<<"1."<<dj[edj[1]]<<"2."<<dj[edj[2]]<<"3."<<dj[edj[3]]<<endl<<"4."<<dj[edj[4]]<<"5."<<dj[edj[5]]<<"6."<<dj[edj[6]]<<endl;
    	game(mlife,elife);
    }
    void jinr(){
    	cout<<"#############"<<endl;
        cout<<"#############"<<endl;
        cout<<"#############"<<endl; 
        cout<<"######门#####"<<endl; 
        cout<<"#############"<<endl; 
        cout<<"#############"<<endl;
        cout<<"#############"<<endl;
        cout<<"1.肘击门"<<endl;
    	cout<<"2.铁山靠"<<endl;
    	cout<<"3.踹门"<<endl;
    }
    int main(){
    	zf[0]="○";zf[1]="●";
    	int chose=0;
    	while(chose!=1){
    	cout<<"***控制台版恶魔轮盘赌***"<<endl<<"1.开始游戏"<<endl<<"2.退出游戏"<<endl;
    	cin>>chose;
    	if(chose==2) cout<<"去nm的,你不玩我做了什么"<<endl;
        }
        jinr();
    	cin>>chose;
    	cout<<"输入你的姓名:";
    	cin>>name;
    	cout<<"地图种子:";
    	cin>>chose;
    	srand(chose);
    	game(5,5);
    }
    
  • 通过的题目

  • 最近活动

    This person is lazy and didn't join any contests or homework.

题目标签

选择结构
12
N3
10
N2
5
高精度
5
二叉树
5
5
入门
4
递推
4
二维数组
3
函数
3
贪心算法
3
课程阶段
3
模拟
2
递归
2
NOIP普及组
2
数据结构
2
2
循环
1
枚举
1
T2
1