8 条题解

  • 0
    @ 2025-12-28 14:47:20

    ''' #include<bits/stdc++.h> using namespace std; string xuan1,xuan2; string mizi; int nianling,guan=1,xuan3,youpai=1,money=1000;

    struct ren{ int gong,fang,xue,have,number,jin,shangzhen; string shu; string name; }jue[10005],juee[10005]; int shu(int a,int b){ int rangeStart=1; int rangeEnd=10; int ran=rand()%(rangeEnd-rangeStart+1)+rangeStart; if(jue[a].shu=="无"){ if(juee[b].shu!="无"){ return -1; } else return 0; } if(jue[a].shu=="雷"){ if(juee[b].shu=="土"){ return -2; } else if(juee[b].shu=="水"){ if(ran<=3){ cout<<"水属性技能发动,免伤!"<<endl; return juee[b].gong*-1; } return 1; } } if(jue[a].shu=="火"){ if(juee[b].shu=="水"){ if(ran<=3){ cout<<"水属性技能发动,免伤!"<<endl; return juee[b].gong*-1; } return -1; } else if(juee[b].shu=="木"){ return 1; } } if(jue[a].shu=="水"){ if(juee[b].shu=="雷"){ return -1; } else if(juee[b].shu=="火"){ return 1; } } if(jue[a].shu=="木"){ if(juee[b].shu=="火"){ return -1; } else if(juee[b].shu=="土"){ return 0; } } if(jue[a].shu=="土"){ if(juee[b].shu=="木"){ return -1; } else if(juee[b].shu=="雷"){ return 1; } } } void chuang(int gua){ for(int i=1;i<=20;i++){ jue[i].shangzhen=0; } if(gua1){ int di[100]; di[1]=1; cout<<"敌人:"<<endl; for(int j=1;j<=1;j++){ int i=di[j]; cout<<"名字:"<<juee[i].name<<endl<<"攻击:"<<juee[i].gong<<" 血量:"<<juee[i].xue<<" 护盾:"<<juee[i].fang<<" 属性;"<<juee[i].shu<<endl; } int ke=1; cout<<"我方可上阵人数:"<<ke<<endl; cout<<"是否挑战(请输入是或否)"<<endl; cin>>xuan1; if(xuan1"是"){ for(int i=1;i<=20;i++){ if(jue[i].have1){ cout<<"编号:"<<jue[i].number<<"名字:"<<jue[i].name<<endl<<"攻击:"<<jue[i].gong<<" 血量:"<<jue[i].xue<<" 护盾:"<<jue[i].fang<<" 属性;"<<jue[i].shu<<endl; } } int wo[15]; for(int i=1;i<=ke;i++){ while(true){ cout<<"输入编号来上阵角色"<<endl; cin>>xuan3; if(jue[xuan3].have1){ if(jue[xuan3].shangzhen0){ cout<<jue[xuan3].name<<"蓄势待发"<<endl; wo[i]=xuan3; break; } } else{ cout<<"你没这个角色!"<<endl; } } } cout<<"战斗开始!"<<endl; for(int j=1;j<=1;j++){ int i=di[j]; cout<<juee[i].name<<' '; } cout<<"----------------------"<<endl<<"----------VS----------"<<endl<<"----------------------"; for(int i=1;i<=ke;i++){ cout<<jue[wo[i]].name<<' '; } cout<<endl; cout<<"还没做完"<<endl; int si=0,dis=0; while(si!=1&&dis!=1){ cout<<"输入编号选择进攻的角色(我方的进攻回合)"<<endl; for(int i=1;i<=ke;i++){ cout<<"编号:"<<i<<" 名字:"<<jue[wo[i]].name<<endl<<" 攻击:"<<jue[wo[i]].gong<<" 血量:"<<jue[wo[i]].xue<<" 护盾:"<<jue[wo[i]].fang<<" 属性;"<<jue[wo[i]].shu<<endl; } cin>>xuan3; if(xuan3<=ke&&xuan3>0){ if(jue[wo[xuan3]].xue>0){ int xuan4; while(true){ cout<<"输入编号以选择攻击对象(准备攻击)"<<endl; for(int j=1;j<=1;j++){ int i=di[j]; cout<<"编号:"<<i<<" 名字:"<<juee[i].name<<endl<<" 攻击:"<<juee[i].gong<<" 血量:"<<juee[i].xue<<" 护盾:"<<juee[i].fang<<" 属性;"<<juee[i].shu<<endl; } cin>>xuan4; if(xuan4<=1&&xuan4>0){ if(juee[di[xuan4]].xue>0){ if(jue[wo[xuan3]].shujuee[di[xuan4]].shu){ if(juee[di[xuan4]].shu=="土"){ if(juee[di[xuan4]].fang>0){ if(jue[wo[xuan3]].gong-1>=juee[di[xuan4]].fang){ cout<<juee[di[xuan4]].name<<"破防了!"<<endl; juee[di[xuan4]].fang=0; break; } else{ juee[di[xuan4]].fang-=jue[wo[xuan3]].gong+1; cout<<"造成了"<<jue[wo[xuan3]].gong-1<<"点伤害!"<<endl; break; } } else{ if(jue[wo[xuan3]].gong-1>=juee[di[xuan4]].xue){ cout<<juee[di[xuan4]].name<<"死掉了!"<<endl; juee[di[xuan4]].xue=0; if(juee[di[xuan4]].shu=="木"){ jue[wo[xuan3]].xue-=juee[di[xuan4]].gong; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了"<<juee[di[xuan4]].gong<<"滴血"<<endl; } } dis++; break; } else{ juee[di[xuan4]].xue=jue[wo[xuan3]].gong+1; cout<<"造成了"<<jue[wo[xuan3]].gong-1<<"点伤害!"<<endl; break; } } } else if(jue[xuan3].shu=="雷"){ if(jue[wo[xuan3]].gong>=juee[di[xuan4]].xue){ cout<<juee[di[xuan4]].name<<"死掉了!"<<endl; juee[di[xuan4]].xue=0; dis++; break; } else{ juee[di[xuan4]].xue=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; break; } } else if(juee[xuan4].shu=="水"){ int rangeStart=1; int rangeEnd=10; int ran=rand()%(rangeEnd-rangeStart+1)+rangeStart; if(ran<=3) cout<<juee[xuan4].name<<"的水属性技能发动,免伤!"<<endl; else{ if(juee[di[xuan4]].fang>0){ if(jue[wo[xuan3]].gong>=juee[di[xuan4]].fang){ cout<<juee[di[xuan4]].name<<"破防了!"<<endl; juee[di[xuan4]].fang=0; break; } else{ juee[di[xuan4]].fang-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; break; } } else{ if(jue[wo[xuan3]].gong>=juee[di[xuan4]].xue){ cout<<juee[di[xuan4]].name<<"死掉了!"<<endl; juee[di[xuan4]].xue=0; if(juee[di[xuan4]].shu=="木"){ jue[wo[xuan3]].xue-=juee[di[xuan4]].gong; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了"<<juee[di[xuan4]].gong<<"滴血"<<endl; } } dis++; break; } else{ juee[di[xuan4]].xue=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; break; } } } } else{ if(juee[di[xuan4]].fang>0){ if(jue[wo[xuan3]].gong>=juee[di[xuan4]].fang){ cout<<juee[di[xuan4]].name<<"破防了!"<<endl; juee[di[xuan4]].fang=0; if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } break; } else{ if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } juee[di[xuan4]].fang-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; break; } } else{ if(jue[wo[xuan3]].gong>=juee[di[xuan4]].xue){ cout<<juee[di[xuan4]].name<<"死掉了!"<<endl; juee[di[xuan4]].xue=0; dis++; break; if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } } else{ juee[di[xuan4]].xue=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } break; } } } } else{ int kezhi=shu(wo[xuan3],di[xuan4]); if(juee[di[xuan4]].fang>0){ if(jue[wo[xuan3]].shu!="雷"){ if(jue[wo[xuan3]].gong+kezhi>=juee[di[xuan4]].fang){ cout<<juee[di[xuan4]].name<<"破防了!"<<endl; juee[di[xuan4]].fang=0; if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } break; } else{ juee[di[xuan4]].fang-=jue[wo[xuan3]].gong+kezhi; cout<<"造成了"<<jue[wo[xuan3]].gong+kezhi<<"点伤害!"<<endl; if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } break; } } } else{ if(jue[wo[xuan3]].gong+kezhi>=juee[di[xuan4]].xue){ cout<<juee[di[xuan4]].name<<"死掉了!"<<endl; if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } juee[di[xuan4]].xue=0; if(juee[di[xuan4]].shu=="木"){ jue[wo[xuan3]].xue-=juee[di[xuan4]].gong+kezhi; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了"<<juee[di[xuan4]].gong<<"滴血"<<endl; } } dis++; break; } else{ juee[di[xuan4]].xue=jue[wo[xuan3]].gong+kezhi; cout<<"造成了"<<jue[wo[xuan3]].gong+kezhi<<"点伤害!"<<endl; if(juee[di[xuan4]].shu=="火") { jue[wo[xuan3]].xue-=1; if(jue[wo[xuan3]].xue<=0){ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打死了!"<<endl; si++; } else{ cout<<"我方"<<jue[wo[xuan3]].name<<"被反伤打了1滴血"<<endl; } } break; } } } } else{ cout<<"他已经死了"<<endl; } } else{ cout<<"别瞎选"<<endl;

    						}
    					}
    				}
    				else{
    					cout<<"他已经死了"<<endl;
    				}
    			}
    			else{
    				cout<<"别瞎选"<<endl;
    			}
    			
    		} 
    		if(dis==1){
    			cout<<"太牛了,你赢了!"<<endl;
    			guan++;
    			cout<<"获得一千元奖励!"<<endl;
    			money+=1000;
    		}
    		else{
    			cout<<"太废了,这都能输!"<<endl;
    		}
    	}
    	else{
    		cout<<"你太怂了"<<endl;
    		return ;
    	}
    }
    

    } void zhuangtai(){ cout<<"名字:"<<mizi<<endl; cout<<"年龄:"<<nianling<<endl; cout<<"金钱:"<<money<<endl; cout<<"关数:"<<guan<<endl; cout<<"牌数;"<<youpai<<endl; cout<<"有的牌;"<<endl; for(int i=1;i<=20;i++){ if(jue[i].have1){ cout<<"编号:"<<jue[i].number<<"名字:"<<jue[i].name<<endl<<"攻击:"<<jue[i].gong<<" 血量:"<<jue[i].xue<<" 护盾:"<<jue[i].fang<<" 属性;"<<jue[i].shu<<endl; } } } void shux(){ cout<<"属性介绍"<<endl; cout<<"'无':被有属性的克制"<<endl; cout<<"'火':受攻击反伤1点,克制木,被水克制"<<endl; cout<<"'雷':无视护盾,克制水,被土克制"<<endl; cout<<"'水':30%不受伤,克制火,被雷克制"<<endl; cout<<"'木':被击败后,反伤自身伤害点伤害(真伤),克制土,被火克制"<<endl; cout<<"'土':受到的伤害-1,克制雷,被木克制"<<endl; cout<<"'克制':被克方伤害-1,克制方伤害+1"<<endl; } void maika(){ for(int i=1;i<=4;i++){ cout<<"编号:"<<jue[i].number<<"名字:"<<jue[i].name<<endl<<"攻击:"<<jue[i].gong<<" 血量:"<<jue[i].xue<<" 护盾:"<<jue[i].fang<<" 属性;"<<jue[i].shu<<" 价格:"<<jue[i].jin<<endl; } while(true){ cout<<"输入编号购买卡牌,输入-1退出"<<endl; cin>>xuan3; if(xuan31){ if(jue[1].have0){ if(jue[1].jin<=money){ money-=jue[1].jin; jue[1].have=1; youpai++; cout<<"成功购买:"<<jue[1].name<<endl; } else{ cout<<"穷鬼别来"<<endl; } } else{ cout<<"你有了"<<endl; } } else if(xuan32){ if(jue[2].have0){ if(jue[2].jin<=money){ money-=jue[2].jin; jue[2].have=1; youpai++; cout<<"成功购买:"<<jue[2].name<<endl; } else{ cout<<"穷鬼别来"<<endl; } } else{ cout<<"你有了"<<endl; } } else if(xuan33){ if(jue[3].have0){ if(jue[3].jin<=money){ money-=jue[3].jin; jue[3].have=1; youpai++; cout<<"成功购买:"<<jue[3].name<<endl; } else{ cout<<"穷鬼别来"<<endl; } } else{ cout<<"你有了"<<endl; } } else if(xuan34){ if(jue[4].have0){ if(jue[4].jin<=money){ money-=jue[4].jin; jue[4].have=1; youpai++; cout<<"成功购买:"<<jue[4].name<<endl; } else{ cout<<"穷鬼别来"<<endl; } } else{ cout<<"你有了"<<endl; } } else if(xuan3-1){ return ; } else{ cout<<"别乱选"<<endl; } } } int main(){ srand(static_cast(time(0))); cout<<"神秘人:欢迎来到我的游戏"<<endl; cout<<"神秘人:这里充满了卡牌"<<endl; cout<<"输入1以继续"<<endl; cin>>xuan1; cout<<"神秘人:作为你的引路人,我将给予你第一张牌"<<endl; cout<<"输入(要或不要)"<<endl; cin>>xuan1; if(xuan1=="要"){ cout<<"获得卡牌:'球球'"<<endl; } else{ cout<<"看来卡牌与你无缘"<<endl; return 0; } cout<<"请输入一些话来谢谢这个人"<<endl; cin>>xuan1; cout<<"我:"<<xuan1<<endl; cout<<"神秘人:谢谢夸奖,我再给你1000块钱"<<endl; cout<<"money+1000!"<<endl; cout<<"神秘人:祝你玩得开心!"<<endl; cout<<"HAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA"<<endl; cout<<"输入1以继续"<<endl; cin>>xuan1; cout<<" "<<"游戏正式开始"<<endl; cout<<"--------------------------------------"<<endl; cout<<"请输入你的名字"<<endl; cin>>mizi; cout<<"请输入你的年龄"<<endl; cin>>nianling; cout<<"去探索吧:"<<mizi<<"祝你好运!"<<endl; for(int i=1;i<=20;i++){ jue[i].have=0; jue[i].number=i; } while(true){ jue[1].name="球球"; jue[1].gong=3; jue[1].fang=3; jue[1].xue=3; jue[1].jin=0; jue[1].shu="无"; jue[1].have=1; jue[2].name="赵子沐"; jue[2].gong=4; jue[2].fang=4; jue[2].xue=4; jue[2].jin=1000; jue[2].shu="土"; jue[3].name="小小沐头"; jue[3].gong=4; jue[3].fang=0; jue[3].xue=5; jue[3].jin=1500; jue[3].shu="雷"; jue[4].name="zzm"; jue[4].gong=3; jue[4].fang=5; jue[4].xue=6; jue[4].jin=2000; jue[4].shu="水"; juee[1].name="小肘程"; juee[1].gong=3; juee[1].fang=3; juee[1].xue=3; juee[1].jin=0; juee[1].shu="无"; juee[1].have=1; juee[2].name="大肘程"; juee[2].gong=4; juee[2].fang=4; juee[2].xue=4; juee[2].jin=1000; juee[2].shu="土"; juee[3].name="肘译程"; juee[3].gong=4; juee[3].fang=0; juee[3].xue=5; juee[3].jin=1500; juee[3].shu="雷"; juee[4].name="肘程王"; juee[4].gong=3; juee[4].fang=5; juee[4].xue=6; juee[4].jin=2000; juee[4].shu="水"; cout<<"1.去闯关"<<endl<<"2.查看状态"<<endl<<"3.买卡"<<endl<<"4.买技能"<<endl<<"5.属性介绍"<<endl; cin>>xuan3; if(xuan31){ if(youpai<2){ cout<<"至少有两张牌才能进入"<<endl; } else{ chuang(guan); } } else if(xuan32){ zhuangtai(); } else if(xuan33){ maika(); } else if(xuan34){ if(guan<=2){ cout<<"过了两关后解锁技能"<<endl; } } else if(xuan3==5){ shux(); } } return 0; }

    '''

    信息

    ID
    13833
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    3
    已通过
    0
    上传者