c++小游戏——职业战争

#include<iostream>
#include<cstdlib>
#include<ctime>
#include<cstring>
#include<windows.h>
using namespace std;
int i,H[3],S[3],K[3],p=1,Y,C;
string P[3];
bool game=1;
void a(int i){
 for (;i;i--);
}
void help(){
 cout<<"杀手:\nHP:100\nSP:5\nkill:3\n";
 cout<<"医生:\nHP:75\nSP:7\nkill:2\n";
 cout<<"法师:\nHP:144\nSP:3\nkill:1\n";
 cin>>i;
}
void killer(){
 P[p]+="杀手";
 H[p]=100;
 S[p]=5;
 K[p]=3;
}
void doctor(){
 P[p]+="医生";
 H[p]=75;
 S[p]=7;
 K[p]=2;
}
void engineer(){
 P[p]+="法师";
 H[p]=144;
 S[p]=3;
 K[p]=1;
}
void e(int j){
 if (j==2&&S[Y]>=2) {
 int w=rand()%2;
 if (Y==1) cout<<"你使用奖励\n";
 else cout<<"电脑使用奖励\n";
 K[Y]+=w;
 cout<<"杀人数+"<<w<<endl;
 w=rand()%5-1;
 w=int(1.2*(K[Y]+w));
 H[C]-=w;
 if (H[C]<=0) game=0;
 if (Y==1) cout<<"你杀了电脑 ";
 else cout<<"你被电脑杀了 ";
 cout<<w;
 if (Y==1) cout<<endl;
 S[Y]-=2;
 }
}
void k(int j){
 if (j==2&&S[Y]>=2) {
 if (Y==1) cout<<"YOU 使用奖励\n";
 else cout<<"The computer 使用奖励\n";
 int w=rand()%4+1;
 H[C]-=int(1.5*K[Y]+w);
 if (H[C]<=0) game=0;
 if (Y==1) cout<<"杀 ";
 else cout<<"你被电脑杀了 ";
 cout<<int(1.5*K[Y]+w);
 if (Y==1) cout<<endl;
 S[Y]-=2;
 }
}
void d(int j){
 if (j==2&&S[Y]>=2) {
 if (Y==1) cout<<"YOU 使用奖励\n";
 else cout<<"The computer 使用奖励\n";
 int w=rand()%5;
 H[Y]+=K[Y]+w;
 if (Y==1) cout<<"YOU HP+";
 else cout<<"The computer HP+";
 cout<<K[Y]+w;
 if (Y==1) cout<<endl;
 S[Y]-=2;
 }
}
void play(){
 system("cls");
 cout<<"Game start!!!!!!!!!!!!!!!!";
 Sleep(3000);
 system("cls");
 int r=1,j;
// bool game=1;
 while (game){
 Y=1;
 C=2;
 cout<<"Round "<<r<<"\n";
 Sleep(3000);
 cout<<"The 电脑 HP:"<<H[2]<<" SP:"<<S[2]<<" kill:"<<K[2]<<"\t"<<P[2];
 cout<<"\n\n\n\nYour HP:"<<H[1]<<" SP:"<<S[1]<<" kill:"<<K[1]<<"\t"<<P[1];
 Sleep(3000);
 cout<<"\nYou choose:\n1.杀人(1SP)\n2.奖励(2SP)\n3.大杀特杀(5SP)\n4.啥事都没(+1~3SP)\n5.干哈(+0~2kill)\n6.尝试(3SP)";
 cin>>j;
 if (j==1&&S[Y]>0) {
 int w=rand()%5-1;
 S[Y]--;
 H[C]-=K[Y]+w;
 if (H[C]<=0) game=0;
 cout<<"You kill the computer"<<K[Y]+w<<endl;
 } else {
 if (j==4) {
 int w=rand()%3+1;
 S[Y]+=w;
 cout<<"YOU SP+"<<w<<endl;
 } else {
 if (j==5) {
 int w=rand()%3;
 K[Y]+=w;
 cout<<"YOU kill+"<<w<<endl;
 } else {
 if (P[Y]=="killer") k(j);
 if (P[Y]=="doctor") d(j);
 if (P[Y]=="engineer") e(j);
 }
 }
 }
 if (game){
 j=rand()%6+1;
 C=1;
 Y=2;
 while (j!=1&&j!=2&&j!=4&&j!=5) j=rand()%6+1;
 if (j==1&&S[2]>1) {
 int w=rand()%5-1;
 S[2]--;
 H[1]-=K[2]+w;
 if (H[1]<=0) game=0;
 cout<<"你被电脑杀了"<<K[2]+w;
 } else {
 if (j==4) {
 int w=rand()%3+1;
 S[2]+=w;
 cout<<"The computer SP+"<<w;
 } else {
 if (j==5) {
 int w=rand()%3;
 K[2]+=w;
 cout<<"The computer kill+"<<w;
 } else {
 if (P[Y]=="killer") k(j);
 if (P[Y]=="doctor") d(j);
 if (P[Y]=="engineer") e(j);
 }
 }
 }
 if (game) Sleep(3000);
 }
 r++;
 system("cls");
 }
}
int main(){
 srand((unsigned)time(NULL));
 cout<<"Welcome to my game!!!!!!!!!!!!\n";
 Sleep(3000);
 system("cls");
 cout<<"Please choose:\n1.killer\n2.doctor\n3.engineer\n4.help";
 cin>>i;
 if (i==4) help();
 cout<<"You choose ";
 if (i==1) killer();
 if (i==2) doctor();
 if (i==3) engineer();
 cout<<P[p]<<endl;
 i=rand()%3+1;
 p++;
 cout<<"The computer chooses ";
 if (i==1) killer();
 if (i==2) doctor();
 if (i==3) engineer();
 cout<<P[p]<<endl;
 system("pause");
 play();
 if (H[1]<=0) cout<<"YOU LOSE~~~~~~~~~~~~~~~~~";
 else cout<<"YOU WIN!!!!!!!!!!!!!!!!!!!";
 return 0;
}
全部评论

相关推荐

01-28 16:12
中南大学 Java
几年前还没有chatgpt的时候,刷题真的是很痛苦。刷不出来只能看题解,题解有几个问题:第一个是每次看的写题解的人都不一样,很难有一个统一的思路;第二个也是最重要的是,题解只提供了作者自己的思路,但是没有办法告诉你你的思路哪里错了。其实很少有错误的思路,我只是需要被引导到正确的思路上面去。所以传统题解学习起来非常困难,每次做不出来难受,找题解更难受。但是现在chatgpt能做很多!它可以这样帮助你&nbsp;-1.&nbsp;可以直接按照你喜欢的语言生成各种解法的题解和分析复杂度。2.&nbsp;把题和你写的代码都发给它,它可以告诉你&nbsp;你的思路到底哪里有问题。有时候我发现我和题解非常接近,只是有一点点🤏想错了。只要改这一点点就是最优解。信心倍增。3.&nbsp;如果遇到不懂的题解可以一行一行询问为什么要这样写,chatgpt不会嫌你烦。有时候我觉得自己的range写错了,其实那样写也没错,只是chat老师的题解有一点优化,这个它都会讲清楚。4.&nbsp;它可以帮你找可以用同类型解法来做的题。然后它可以保持解法思路不变,用一个思路爽刷一个类型的题。如果题目之间思路又有变化,它会告诉你只有哪里变了,其他的地方还是老思路。5.&nbsp;它也可以直接帮你总结模板,易错点。经过chat老师的指导,我最大的改变是敢刷题了。之前刷题需要先找某一个人写的算法题repo,然后跟着某一个人他的思路刷他给的几个题。如果想写别的题,套用思路失败了,没有他的题解,也不知道到底哪里错了;看别人的题解,思路又乱了。这个问题在二分查找和dp类型的题里面特别常见。但是现在有chat老师,他会针对我的代码告诉我我哪里想错了,应该怎么做;还按照我写代码的习惯帮我总结了一套属于我的刷题模板。每天写题全是正反馈!
明天不下雨了:那我建议可以用 chatgpt atlas 或者 dia 去刷,也可以用 chrome 加个 ai 插件去刷 左边刷题右边 chat 效果很好
AI时代的工作 VS 传...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务