蒟蒻制作,dalao勿喷
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
map<char,int>point;
int n;
struct people{
string name;
int gongji,fangyu,xieliang;
}a[31];
void print(int wait_second,string print_string){
for(int i=0;i<print_string.size();i++){
cout<<print_string[i];
Sleep(wait_second);
}
cout<<"\n\n\n";
}
bool ck(int the_size){
int ans=0;
for(int i=1;i<=the_size;i++)if(a[i].xieliang>0)ans++;
if(ans==1)return 1;
else return 0;
}
int main(){
srand(time(0));
for(char i='a';i<='z';i++)point[i]=rand()%100+1;
for(int i=1;i<32;i++){
a[i].gongji=rand()%10+1;
a[i].fangyu=rand()%10+1;
a[i].xieliang=rand()%150+50;
}
print(75," 欢迎来到名字竞技场(小)");
Sleep(1500);
print(75,"为什么是《小》呢?因为对比原版竞技场,这个自己制作的比较粗糙,还请大家多多包涵");
Sleep(1000);
print(75,"废话不多说,我们直接讲游戏规则");
system("cls");
Sleep(1000);
print(75,"1.一行一个字符串,表示一个人(一人一队),不超过30行,每个字符串长度不超过10");
print(75,"2.人名仅支持小写英文字母,不支持大写字母、符号和中文");
print(75,"3.本游戏由考试时没事情做的蒟蒻CXK(别想了,不是坤坤)制作");
Sleep(3000);
print(75,"那么现在,游戏开始!!!");
Sleep(500);
system("cls");
print(75,"请输入人数:");
cin>>n;
print(75,"请输入人的名称(n行,一行一个字符串):");
for(int i=1;i<=n;i++){
cin>>a[i].name;
for(int j=0;j<a[i].name.size();j++){
a[i].gongji+=(11-a[i].name.size())*point[a[i].name[j]];
a[i].fangyu+=(11-a[i].name.size())*point[a[i].name[j]];
a[i].xieliang+=(11-a[i].name.size())*point[a[i].name[j]];
}
}
system("cls");
system("color C");
print(200,"战斗开始!");
while(1){
for(int i=1;i<=n;i++){
int mubiao;
while(1){
mubiao=rand()%n+1;
if(mubiao!=i&&a[mubiao].xieliang>0)break;
}
int kill=max(0,a[i].gongji-a[mubiao].fangyu);
a[mubiao].xieliang-=kill;
string out=a[i].name,skill;
while(kill>0){
skill+=char(kill%10+'0');
kill/=10;
}
for(int i=0;i<skill.size()/2;i++)swap(skill[i],skill[skill.size()-1-i]);
out+="向";
out+=a[mubiao].name;
out+="发起了进攻!";
out+=a[mubiao].name;
out+="受到了";
out+=skill;
out+="点攻击!";
print(75,out);
if(a[mubiao].xieliang<=0){
out=a[mubiao].name;
out+="被击倒了!";
print(75,out);
}
if(ck(n))break;
}
if(ck(n))break;
}
int ans;
for(int i=1;i<=n;i++){
if(a[i].xieliang>0){
ans=i;
break;
}
}
string ans_out=a[ans].name;
ans_out+="是冠军!";
system("cls");
print(75,ans_out);
return 0;
}