-其它- 名字竞技场C++

自己写的,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();
}
}
文章作者: RiverFun
文章链接: https://stevebraveman.github.io/blog/2018/08/21/2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 RiverFun

评论
目录