自己写的,dalao勿喷
V1.1 有了名字判重系统,以及可以循环玩游戏了!
V1.2 可以多人玩游戏了!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
| #include<bits/stdc++.h> #include<windows.h> using namespace std; struct note{ char a[10]; int hp; int gj; }; note player[16]; int hit1,hit2,g[11],pdh1=0,pdh2=0,n; void shuru(); void gj(); void youxi(); void slowsay(char a[]){ for(int i=0;i<strlen(a);i++){ cout<<a[i]; Sleep(25); } } int main(){ srand((unsigned)time(NULL)); slowsay("欢迎来到名字竞技场! by Steve_bm"); cout<<endl; slowsay("V 1.2"); cout<<endl; cout<<"请输入人数:"; cin>>n; shuru(); youxi(); return 0; } void gj(){ int op1,op2; op1=rand()%n+1; op2=rand()%n+1; if((op1==op2)||(player[op1].hp==0||player[op2].hp==0)){ while(1){ op1=rand()%n+1; op2=rand()%n+1; if((op1!=op2)&&(player[op1].hp!=0&&player[op2].hp!=0)) break; } } hit1=rand()%player[op1].gj+1; player[op2].hp-=hit1; if(player[op2].hp<=0) player[op2].hp=0; cout<<player[op1].a<<"对"<<player[op2].a<<"发起了攻击"<<endl; Sleep(500); if(hit1>=((player[op1].gj/3)*2)) cout<<player[op1].a<<"暴击!"<<endl; cout<<player[op2].a<<"受到了"<<hit1<<"点伤害"<<endl; Sleep(250); cout<<player[op2].a<<"现在的生命值是"<<player[op2].hp<<endl; cout<<endl; } void youxi(){ Sleep(1200); for(int t=1;t<=n;t++){ int n1=player[t].a[0]+200; int q1=player[t].a[strlen(player[t].a)-1]; player[t].hp=(rand()%n1+30)*9; player[t].gj=(rand()%q1+30)*7; } system("cls"); for(int b=1;b<=n;b++){ cout<<player[b].a<<" "<<"HP:"<<player[b].hp<<" "<<"攻击力:"<<player[b].gj<<endl; cout<<endl; } cout<<endl; Sleep(3000); cout<<"现在开始!"<<endl; Sleep(1500); int w; int f=0; while(1){ gj(); Sleep(1000); cout<<endl; for(int i=1;i<=n;i++){ if(player[i].hp==0) f++; if(player[i].hp>0) w=i; } if(f==n-1) break; f=0; } Sleep(1500); cout<<"胜利者是"; cout<<player[w].a<<"!"<<endl; for(int m=1;m<=n;m++){ if(player[m].hp==0){ cout<<player[m].a<<"完败!"<<endl; } } char l; Sleep(3000); cout<<"Do you want to play again?(Y/N)"<<endl; cin>>l; if(l=='Y'||l=='y'){ system("cls"); for(int h=1;h<=n;h++){ memset(player[h].a,0,sizeof(player[h].a)); } youxi(); } else{ exit(0); } } void shuru(){ for(int l=1;l<=n;l++){ cout<<"请输入玩家"<<l<<"的名字(名字不超过10字符,最小3字符,不能有汉字!):"<<endl; scanf("%s",player[l].a); } int yy[11]={0}; for(int i=1;i<n;i++){ for(int o=i+1;o<=n;o++){ for(int q=0;q<strlen(player[i].a);q++){ if(player[i].a[q]==player[o].a[q]) yy[i]++; } } } for(int u=1;u<=n;u++){ if(yy[u]==strlen(player[u].a)){ system("cls"); cout<<"输入的名字不能相同!"<<endl; Sleep(100); cout<<"请重新输入!"<<endl; shuru(); } else youxi(); } }
|