3 条题解
-
1
#include<iostream> #include<cstdio> #include<vector> #include<algorithm> #include<future> #include<cstring> using namespace std; int a[1000010]; inline int read(){ int x=1,y=0; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-')x=-1; ch=getchar(); } while(ch>='0'&&ch<='9'){ y=y*10+ch-'0'; ch=getchar(); } return x*y; } inline void write(int n){ if(n<0)putchar('-'),n=-n; if(n>9)write(n/10); putchar(n%10+'0'); } int binarySearch(const vector<int>&arr,int target){ int pos = upper_bound(a,a+arr.size(),target)-a; if (a[pos-1]==target)return pos; else return -1; } void asyncRead(vector<int>&arr,int n){ for(int i=0;i<n;++i) arr[i]=read(); } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n=read(),m=read(); vector<int>arr(n); asyncRead(arr,n); sort(arr.begin(),arr.end()); for(int i=0;i<arr.size();i++){ a[i]=arr[i]; } while(m--){ int q=read(); int result=binarySearch(arr,q); write(result);putchar('\n'); } return 0; } -
0
#include<bits/stdc++.h> using namespace std; string xuan1,xuan2; string mizi; int nianling,guan=1,xuan3,youpai=1,money=1000,jiang,jig=1,jishu;//jig可上阵技能数 jiang是否可以使用铁匠铺 jishu拥有的技能数 struct ren{ int gong,fang,xue,have,number,jin,shangzhen; string shu; string name; }jue[10005],juee[10005],qiang[1005],ji[1000],zj[1000]; void sleep(double time){ for(int i=1;i<=time*500000000;i++) return ; } void tiejiang(){ } void mofa(){ cout<<"1.一命换一命 攻击型魔法 1000元 "<<endl<<"效果:击杀一个我方卡牌和一个敌方卡牌"<<endl; cout<<"2.蟑螂来了 特殊型魔法 1200元"<<endl<<"效果:召唤两只蟑螂(攻2 防0 血1)"<<endl; cout<<"3.生机勃勃 治疗型魔法 1500元"<<endl<<"效果:我方卡牌全体回3血,无法对死亡单位生效"<<endl; cout<<"//请注意!!!!!!!!!!!!!单个技能在一场对局中只能使用一次"<<endl; cout<<"100.购买技能个数(增加战斗中可使用的技能数)2000元"<<endl; cout<<"输入编号以购买,输入-1退出"<<endl; while(true){ cin>>xuan3; if(xuan3==1){ if(ji[xuan3].have==0){ if(money>=ji[xuan3].jin){ ji[xuan3].have=1; money-=ji[xuan3].jin; jishu++; cout<<"成功购买"<<ji[xuan3].name<<endl; } else{ cout<<"你没钱了"<<endl; } } else{ cout<<"你有了"<<endl; } } else if(xuan3==2){ if(ji[xuan3].have==0){ if(money>=ji[xuan3].jin){ ji[xuan3].have=1; money-=ji[xuan3].jin; cout<<"成功购买"<<ji[xuan3].name<<endl; } else{ cout<<"你没钱了"<<endl; } } else{ cout<<"你有了"<<endl; } } else if(xuan3==3){ if(ji[xuan3].have==0){ if(money>=ji[xuan3].jin){ ji[xuan3].have=1; money-=ji[xuan3].jin; cout<<"成功购买"<<ji[xuan3].name<<endl; } else{ cout<<"你没钱了"<<endl; } } else{ cout<<"你有了"<<endl; } } else if(xuan3==100){ if(money>=2000){ if(jishu>jig){ cout<<"技能槽+1!"<<endl; cout<<"你现在有"<<jig<<"个技能槽"<<endl; } else cout<<"技能槽的大小不能比你的技能书多"<<endl; } else{ cout<<"你钱不够"<<endl; } } else if(xuan3=-1){ return; } else{ cout<<"别瞎选"<<endl; } } } 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!="无"){ if(juee[b].shu=="土"){ return -2; } return -1; } else return 0; } if(juee[b].shu=="无"){ if(jue[a].shu!="无"){ return 1; } return 0; } else if(jue[a].shu=="雷"){ if(juee[b].shu=="土"){ return -2; } else if(juee[b].shu=="水"){ if(ran<=3){ return juee[b].gong*-1; } return 1; } } else if(jue[a].shu=="火"){ if(juee[b].shu=="水"){ if(ran<=3){ return juee[b].gong*-1; } return -1; } else if(juee[b].shu=="木"){ return 1; } } else if(jue[a].shu=="水"){ if(juee[b].shu=="雷"){ return -1; } else if(juee[b].shu=="火"){ return 1; } } else if(jue[a].shu=="木"){ if(juee[b].shu=="火"){ return -1; } else if(juee[b].shu=="土"){ return 0; } } else if(jue[a].shu=="土"){ if(juee[b].shu=="木"){ return -1; } else if(juee[b].shu=="雷"){ return 1; } } if(juee[b].shu=="水"){ if(ran<=3){ return juee[b].gong*-1; } } if(juee[b].shu=="土"){ return -1; } return 0; } int shuu(int a,int b){ int rangeStart=1; int rangeEnd=10; int ran=rand()%(rangeEnd-rangeStart+1)+rangeStart; if(jue[a].shu=="无"){ if(jue[b].shu!="无"){ if(jue[b].shu=="土"){ return -2; } return -1; } else return 0; } else if(jue[b].shu=="无"){ if(juee[a].shu!="无"){ return 1; } else{ return 0; } } else if(juee[a].shu=="雷"){ if(jue[b].shu=="土"){ return -2; } else if(jue[b].shu=="水"){ if(ran<=3){ return jue[b].gong*-1; } return 1; } } else if(juee[a].shu=="火"){ if(jue[b].shu=="水"){ if(ran<=3){ return jue[b].gong*-1; } return -1; } else if(jue[b].shu=="木"){ return 1; } } else if(juee[a].shu=="水"){ if(jue[b].shu=="雷"){ return -1; } else if(jue[b].shu=="火"){ return 1; } } else if(juee[a].shu=="木"){ if(jue[b].shu=="火"){ return -1; } else if(jue[b].shu=="土"){ return 0; } } else if(juee[a].shu=="土"){ if(jue[b].shu=="木"){ return -1; } else if(jue[b].shu=="雷"){ return 1; } } if(juee[b].shu=="水"){ if(ran<=3){ return juee[b].gong*-1; } } if(jue[b].shu=="土"){ return -1; } return 0; } void chuang(int guaa){ int xuan3,xuan4; for(int i=1;i<=20;i++){ jue[i].shangzhen=0; } int gua; while(true){ cout<<"请选择关卡:(输入关卡号码)"<<endl<<"你现在闯到第"<<guaa<<"关"<<endl<<"可以玩以前的关但只奖励50元"; cin>>gua; if(gua<=guaa) break; else cout<<"别乱选"<<endl; } if(gua==1){ int di[100],dishu=1; di[1]=1; cout<<"敌人:"<<endl; for(int j=1;j<=dishu;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].have==1){ 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].have==1){ if(jue[xuan3].shangzhen==0){ cout<<jue[xuan3].name<<"蓄势待发"<<endl; wo[i]=xuan3; break; } } else{ cout<<"你没这个角色!"<<endl; } } } cout<<"战斗开始!"<<endl; for(int j=1;j<=dishu;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; int conti=0; while(conti!=1){ cout<<"输入编号以选择攻击对象(准备攻击)"<<endl; for(int j=1;j<=1;j++){ int i=di[j]; cout<<"编号:"<<j<<" 名字:"<<juee[i].name<<endl<<" 攻击:"<<juee[i].gong<<" 血量:"<<juee[i].xue<<" 护盾:"<<juee[i].fang<<" 属性;"<<juee[i].shu<<endl; } cin>>xuan4; if(xuan4<=dishu&&xuan4>0){ if(juee[di[xuan4]].xue>0){ if(jue[wo[xuan3]].shu==juee[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; conti=1; } else{ juee[di[xuan4]].fang-=jue[wo[xuan3]].gong+1; cout<<"造成了"<<jue[wo[xuan3]].gong-1<<"点伤害!"<<endl; conti=1; } } 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++; conti=1; } else{ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong+1; cout<<"造成了"<<jue[wo[xuan3]].gong-1<<"点伤害!"<<endl; conti=1; } } } 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++; conti=1; } else{ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; conti=1; } } 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; conti=1; } 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; conti=1; } else{ juee[di[xuan4]].fang-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; conti=1; } } 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++; conti=1; } else{ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; conti=1; } } } } 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; } } conti=1; } 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; conti=1; } } else{ if(jue[wo[xuan3]].gong>=juee[di[xuan4]].xue){ cout<<juee[di[xuan4]].name<<"死掉了!"<<endl; juee[di[xuan4]].xue=0; dis++; conti=1; 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; } } conti=1; } } } } else{ int kezhi=shu(wo[xuan3],di[xuan4]); if(kezhi==jue[wo[xuan3]].gong*-1&&juee[di[xuan4]].shu=="水") cout<<juee[di[xuan4]].name<<"的水属性技能发动了,免伤!"<<endl; 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; } } conti=1; } 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; } } conti=1; } } 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++; conti=1; } } } 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++; conti=1; } 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; } } conti=1; } } } } else{ cout<<"他已经死了"<<endl; } } else{ cout<<"别瞎选"<<endl; } } int didimax=-100; int maxg=-1; for(int k=1;k<=dishu;k++){ if(juee[di[k]].xue>0){ for(int kk=1;kk<=ke;kk++){ if(jue[wo[kk]].xue>0){ if(shuu(di[k],wo[kk])+maxg>didimax+maxg){ didimax=shuu(di[k],wo[kk]); maxg=juee[di[k]].gong; xuan3=kk; xuan4=k; } } } } } cout<<"敌方的"<<juee[di[xuan4]].name<<"发起了攻击!"<<endl; int kezhi=shuu(di[xuan4],wo[xuan3]); if(kezhi==juee[di[xuan4]].gong*-1&&jue[wo[xuan3]].shu=="水") cout<<jue[wo[xuan3]].name<<"的水属性技能发动了,免伤!"<<endl; if(jue[wo[xuan3]].fang>0&&juee[di[xuan4]].shu!="雷"){ if(juee[di[xuan4]].gong+kezhi>=jue[wo[xuan3]].fang){ cout<<"我方的"<<jue[wo[xuan3]].name<<"破防了"<<endl; jue[wo[xuan3]].fang=0; } else{ cout<<"敌方的"<<juee[di[xuan4]].name<<"对我方的"<<jue[wo[xuan3]].name<<"造成了"<<juee[di[xuan4]].gong+kezhi<<"点伤害"<<endl; jue[wo[xuan3]].fang-=juee[di[xuan4]].gong+kezhi; } } else{ if(juee[di[xuan4]].gong+kezhi>=jue[wo[xuan3]].xue){ cout<<"我方的"<<jue[wo[xuan3]].name<<"死了"<<endl; si++; jue[wo[xuan3]].xue=0; if(jue[wo[xuan3]].shu=="木"){ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong; if(juee[di[xuan4]].xue<=0){ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打死了!"<<endl; dis++; } else{ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打了"<<jue[wo[xuan3]].gong<<"滴血"<<endl; } } } else{ cout<<"敌方的"<<juee[di[xuan4]].name<<"对我方的"<<jue[wo[xuan3]].name<<"造成了"<<juee[di[xuan4]].gong+kezhi<<"点伤害"<<endl; jue[wo[xuan3]].xue-=juee[di[xuan4]].gong+kezhi; } } if(jue[wo[xuan3]].shu=="火"){ juee[di[xuan4]].xue-=1; if(juee[di[xuan4]].xue<=0){ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打死了!"<<endl; dis++; } else{ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打了1滴血"<<endl; } } } else{ cout<<"他已经死了"<<endl; } } else{ cout<<"别瞎选"<<endl; } } if(dis==dishu){ cout<<"太牛了,你赢了!"<<endl; if(guan==1) guan++; cout<<"获得六百元奖励!"<<endl; money+=600; } else{ cout<<"太废了,这都能输!"<<endl; } } else{ cout<<"你太怂了"<<endl; return ; } } if(gua==2){ int di[100],dishu=2; di[1]=1; di[2]=5; cout<<"敌人:"<<endl; for(int j=1;j<=dishu;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=2; cout<<"我方可上阵人数:"<<ke<<endl; cout<<"是否挑战(请输入是或否)"<<endl; cin>>xuan1; if(xuan1=="是"){ for(int i=1;i<=20;i++){ if(jue[i].have==1){ 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].have==1){ if(jue[xuan3].shangzhen==0){ cout<<jue[xuan3].name<<"蓄势待发"<<endl; wo[i]=xuan3; break; } } else{ cout<<"你没这个角色!"<<endl; } } } cout<<"战斗开始!"<<endl; for(int j=1;j<=dishu;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!=ke&&dis!=dishu){ 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; int conti=0; while(conti!=1){ cout<<"输入编号以选择攻击对象(准备攻击)"<<endl; for(int j=1;j<=dishu;j++){ int i=di[j]; cout<<"编号:"<<j<<" 名字:"<<juee[i].name<<endl<<" 攻击:"<<juee[i].gong<<" 血量:"<<juee[i].xue<<" 护盾:"<<juee[i].fang<<" 属性;"<<juee[i].shu<<endl; } cin>>xuan4; if(xuan4<=dishu&&xuan4>0){ if(juee[di[xuan4]].xue>0){ if(jue[wo[xuan3]].shu==juee[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; conti=1; } else{ juee[di[xuan4]].fang-=jue[wo[xuan3]].gong+1; cout<<"造成了"<<jue[wo[xuan3]].gong-1<<"点伤害!"<<endl; conti=1; } } 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++; conti=1; } else{ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong+1; cout<<"造成了"<<jue[wo[xuan3]].gong-1<<"点伤害!"<<endl; conti=1; } } } 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++; conti=1; } else{ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; conti=1; } } 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; 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; conti=1; } else{ juee[di[xuan4]].fang-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; conti=1; } } 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++; conti=1; } else{ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong; cout<<"造成了"<<jue[wo[xuan3]].gong<<"点伤害!"<<endl; conti=1; } } } } 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; } } conti=1; } 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; conti=1; } } else{ if(jue[wo[xuan3]].gong>=juee[di[xuan4]].xue){ cout<<juee[di[xuan4]].name<<"死掉了!"<<endl; juee[di[xuan4]].xue=0; dis++; conti=1; 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; } } conti=1; } } } } else{ int kezhi=shu(wo[xuan3],di[xuan4]); if(kezhi==jue[wo[xuan3]].gong*-1&&juee[di[xuan4]].shu=="水") cout<<juee[di[xuan4]].name<<"的水属性技能发动了,免伤!"<<endl; 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; } } conti=1; } 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; } } conti=1; } } 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++; conti=1; } } } 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++; conti=1; } 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; } } conti=1; } } } } else{ cout<<"他已经死了"<<endl; } } else{ cout<<"别瞎选"<<endl; } } int didimax=-100; int maxg=-1; for(int k=1;k<=dishu;k++){ if(juee[di[k]].xue>0){ for(int kk=1;kk<=ke;kk++){ if(jue[wo[kk]].xue>0){ if(shuu(di[k],wo[kk])+juee[di[k]].gong>didimax+maxg){ didimax=shuu(di[k],wo[kk]); maxg=juee[di[k]].gong; xuan3=kk; xuan4=k; } } } } } cout<<"敌方的"<<juee[di[xuan4]].name<<"发起了攻击!"<<endl; int kezhi=shuu(di[xuan4],wo[xuan3]); if(kezhi==juee[di[xuan4]].gong*-1&&jue[wo[xuan3]].shu=="水") cout<<jue[wo[xuan3]].name<<"的水属性技能发动了,免伤!"<<endl; if(jue[wo[xuan3]].fang>0&&juee[di[xuan4]].shu!="雷"){ if(juee[di[xuan4]].gong+kezhi>=jue[wo[xuan3]].fang){ cout<<"我方的"<<jue[wo[xuan3]].name<<"破防了"<<endl; jue[wo[xuan3]].fang=0; } else{ cout<<"敌方的"<<juee[di[xuan4]].name<<"对我方的"<<jue[wo[xuan3]].name<<"造成了"<<juee[di[xuan4]].gong+kezhi<<"点伤害"<<endl; jue[wo[xuan3]].fang-=juee[di[xuan4]].gong+kezhi; } } else{ if(juee[di[xuan4]].gong+kezhi>=jue[wo[xuan3]].xue){ cout<<"我方的"<<jue[wo[xuan3]].name<<"死了"<<endl; si++; jue[wo[xuan3]].xue=0; if(jue[wo[xuan3]].shu=="木"){ juee[di[xuan4]].xue-=jue[wo[xuan3]].gong; if(juee[di[xuan4]].xue<=0){ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打死了!"<<endl; dis++; } else{ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打了"<<jue[wo[xuan3]].gong<<"滴血"<<endl; juee[di[xuan4]].xue-=1; } } } else{ cout<<"敌方的"<<juee[di[xuan4]].name<<"对我方的"<<jue[wo[xuan3]].name<<"造成了"<<juee[di[xuan4]].gong+kezhi<<"点伤害"<<endl; jue[wo[xuan3]].xue-=juee[di[xuan4]].gong+kezhi; } } if(jue[wo[xuan3]].shu=="火"){ juee[di[xuan4]].xue-=1; if(juee[di[xuan4]].xue<=0){ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打死了!"<<endl; dis++; } else{ cout<<"敌方"<<juee[di[xuan4]].name<<"被反伤打了1滴血"<<endl; juee[di[xuan4]].xue-=1; } } } else{ cout<<"他已经死了"<<endl; } } else{ cout<<"别瞎选"<<endl; } } if(dis==dishu){ cout<<"太牛了,你赢了!"<<endl; if(guan==2) guan++; cout<<"获得八百元奖励!"<<endl; money+=800; } 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].have==1){ 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(xuan3==1){ if(jue[1].have==0){ 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(xuan3==2){ if(jue[2].have==0){ 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(xuan3==3){ if(jue[3].have==0){ 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(xuan3==4){ if(jue[4].have==0){ 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<unsigned int>(time(0))); cout<<"神秘人:欢迎来到我的游戏"<<endl; sleep(1); cout<<"神秘人:这里充满了卡牌"<<endl; sleep(1); cout<<"输入1以继续"<<endl; cin>>xuan1; cout<<"神秘人:作为你的引路人,我将给予你第一张牌"<<endl; sleep(1); cout<<"输入(要或不要)"<<endl; cin>>xuan1; if(xuan1=="要"){ cout<<"获得卡牌:'球球'"<<endl; sleep(1); } else{ cout<<"看来卡牌与你无缘"<<endl; sleep(1); return 0; } cout<<"请输入一些话来谢谢这个人"<<endl; cin>>xuan1; cout<<"我:"<<xuan1<<endl; sleep(1); cout<<"神秘人:谢谢夸奖,我再给你1000块钱"<<endl; sleep(1); cout<<"money+1000!"<<endl; sleep(1); cout<<"神秘人:祝你玩得开心!"<<endl; sleep(1); cout<<"HAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA"<<endl; sleep(1); cout<<"输入1以继续"<<endl; cin>>xuan1; cout<<" "<<"游戏正式开始"<<endl; sleep(0.5); cout<<"--------------------------------------"<<endl; sleep(1); cout<<"请输入你的名字"<<endl; cin>>mizi; sleep(1); cout<<"请输入你的年龄"<<endl; cin>>nianling; sleep(1); cout<<"去探索吧:"<<mizi<<"祝你好运!"<<endl; for(int i=1;i<=20;i++){ jue[i].have=0; jue[i].number=i; ji[i].have=0; ji[i].number=0; } while(true){ jue[1].name="球球"; jue[1].gong=2; 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=3; jue[2].fang=6; jue[2].xue=6; 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=2; juee[1].fang=1; 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="无"; juee[5].name="肘二兄"; juee[5].gong=3; juee[5].fang=7; juee[5].xue=3; juee[5].jin=10000; juee[5].shu="水"; ji[1].jin=1000; ji[2].jin=1200; ji[3].jin=1500; ji[1].name="一命换一命"; ji[2].name="蟑螂来了"; ji[3].name="生机勃勃"; for(int i=1;i<=1000;i++){ jue[i].gong+=qiang[i].gong; jue[i].fang+=qiang[i].fang; } cout<<"1.去闯关"<<endl<<"2.查看状态"<<endl<<"3.买卡"<<endl<<"4.魔法商店"<<endl<<"5.属性介绍"<<endl<<"6.铁匠铺"; cin>>xuan3; if(xuan3==1){ if(youpai<2){ cout<<"至少有两张牌才能进入"<<endl; } else{ chuang(guan); } } else if(xuan3==2){ zhuangtai(); } else if(xuan3==3){ maika(); } else if(xuan3==4){ if(guan<=2){ cout<<"过了两关后解锁魔法"<<endl; } } else if(xuan3==5){ shux(); } else if(xuan3==6){ if(jiang==0){ cout<<"你的实力还不配来!"<<endl; } else{ tiejiang(); } } } return 0; } -
0
#include<bits/stdc++.h> using namespace std; class pai{ public: int fight; int hp; int real_hp; bool have; string jibie; int ji; string name; void fight(pai somebody){ if(this.ji>somebody.ji){ somebody.hp-=this.fight*2; cout<<"对方血量-"<<this.fight*2<<"\n"; this.hp-=somebody.fight/2; cout<<"我方血量-"<<somebody.fight/2<<"\n"; }else if(this.ji==somebody.ji){ somebody.hp-=this.fight; cout<<"对方血量-"<<this.fight<<"\n"; this.hp-=somebody.fight; cout<<"我方血量-"<<somebody.fight<<"\n"; }else{ somebody.hp-=this.fight/2; cout<<"对方血量-"<<this.fight/2<<"\n"; this.hp-=somebody.fight*2; cout<<"我方血量-"<<somebody.fight*2<<"\n"; } } void cy(){ this.hp=this.real_hp } }; int main(){ }
- 1
信息
- ID
- 13834
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者