#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#define int long long
using namespace std;
int x;
void cls(){system("cls");}
struct x1{
int coin,xue,gong;
}me;
struct x2{
string cws="无";
int xue,gong;
}my_animal;
struct x3{
string gjs="无",fys="无";
int gong,xue;
}wq;
//商城
void chong(){
cls();
cout<<"1.狸花猫 攻击:20 血量:50 收费:金币*40\n";
cout<<"2.捷克狼犬 攻击:50 血量:100 收费:金币*80\n";
cout<<"3.银狐 攻击:70 血量:140 收费:金币*120\n";
cout<<"4.东北虎 攻击:150 血量:300 收费:金币*250\n";
cout<<"5.霸王龙 攻击:400 血量:1000 收费:金币*700";
string mp[10]={"","狸花猫","捷克狼犬","银狐","东北虎","霸王龙"};
int mp2[10]={0,40,80,120,250,700},mp3[10]={0,20,50,70,150,400},mp4[10]={0,50,100,140,300,1000};
while(cin>>x){
if(me.coin<mp2[x]) cout<<"金币不足,请重新购买\n";
else break;
}
cout<<"恭喜你获得:"<<mp[x]<<"!";
my_animal.cws=mp[x];
me.coin-=mp2[x];
my_animal.gong=mp3[x];
my_animal.xue=mp4[x];
cout<<"现在,你还有"<<me.coin<<"金币";
if(kbhit()) cls();
}
void hu(){
cout<<"1.攻击"<<endl;
cout<<"2.防御"<<endl;
cin>>x;
if(x==1){
string mp[10]={"","铁齿","铁爪套","钻石剑","东北虎","远古火焰球"};
int mp2[10]={0,15,30,70,170,350},mp3[10]={0,20,30,50,100,250};
cout<<"1.铁齿 (攻击力+20) 收费:金币*15"<<endl;
cout<<"2.铁爪套 (攻击力+30) 收费:金币*30"<<endl;
cout<<"3.钻石剑 (攻击力+50) 收费:金币*70"<<endl;
cout<<"4.远古石球 (攻击力+100) 收费:金币*170"<<endl;
cout<<"5.远古火焰球 (攻击力+250) 收费:金币*350"<<endl;
while(cin>>x){
if(me.coin<mp2[x]) cout<<"金币不足,请重新购买\n";
else break;
}
cout<<"恭喜你获得:"<<mp[x]<<"!";
wq.gjs=mp[x];
wq.gong=mp3[x];
me.gong+=mp3[x];
me.coin-=mp2[x];
cout<<"现在,你还有"<<me.coin<<"金币\n";
if(kbhit()) cls();
}
if(x==2){
string mp[10]={"","普通盾牌","高级盾牌","钛合金盾牌","普通能量盾","高级能量盾"};
int mp2[10]={0,50,150,300,500,1000},mp3[10]={0,50,120,250,350,900};
cout<<"1.普通盾牌 (生命值:50) 收费:金币*50"<<endl;
cout<<"2.高级盾牌 (生命值:150) 收费:金币*120"<<endl;
cout<<"3.钛合金盾牌 (生命值:300) 收费:金币*250"<<endl;
cout<<"4.普通能量盾 (生命值:500) 收费:金币*350"<<endl;
cout<<"5.高级能量盾 (生命值:1000) 收费:金币*900"<<endl;
while(cin>>x){
if(me.coin<mp2[x]) cout<<"金币不足,请重新购买\n";
else break;
}
cout<<"恭喜你获得:"<<mp[x]<<"!";
wq.fys=mp[x];
wq.xue=mp3[x];
me.coin-=mp2[x];
cout<<"现在,你还有"<<me.coin<<"金币\n";
if(kbhit()) cls();
}
}
void yao(){
cls();
cout<<"1.注射器 (回复10血量) 收费:金币*5"<<endl;
cout<<"2.医疗包 (回复30血量) 收费:金币*20"<<endl;
cout<<"3.小型医疗箱 (回复60血量) 收费:金币*50"<<endl;
cout<<"5.大型医疗箱 (回复100血量) 收费:金币*70"<<endl;
int mp[10]={0,5,20,50,70},mp2[10]={0,10,30,60,100};
while(cin>>x){
if(me.coin<mp[x]) cout<<"金币不足,请重新购买\n";
else break;
}
me.coin-=mp[x];
me.xue+=mp2[x];
if(me.xue>100) me.xue=100;
cout<<"恭喜你回复 "<<mp2[x]<<"血量,你现在有:" <<me.xue<<"血量,"<<me.coin<<"金币\n";
if(kbhit()) cls();
}
void sc(){
while(1){
cls();
cout<<"1.宠物\n2.装备\n3.药品\n";
cin>>x;
if(x==1) chong();
if(x==2) hu();
if(x==3) yao();
cout<<"还要继续购买吗?继续请输入1,退出请输入0";
while(cin>>x){
if(x==1) break;
else if(x==0){
cls();
return;
}
else cout<<"继续请输入1,退出请输入0\n";
}
}
}
//
//
void dc(){
srand(time(0));
cls();
int a,k;
cout<<"欢迎来到赌场,在这里,赢了将获得双倍的赌注,输了则不会将赌注返还,平局则金币不变\n";
while(1){
cout<<"请输入你的赌注(赌注需<=2000元并且>=-2000元)\n";
while(cin>>a){
if(a<-2000||a>2000) cout<<"赌注超过限制,请重新输入\n";
else break;
}
me.coin-=a;
cout<<"你现在还有"<<me.coin<<"金币,请等待3秒···\n";
Sleep(3000);
k=rand()%11;
if(k>=6&&k<=8){
me.coin+=a;
cout<<"平局!你现在还有"<<me.coin<<"金币\n";
}
else if(k>8){
me.coin+=a*2;
cout<<"你赢了!你现在还有"<<me.coin<<"金币\n";
}
else cout<<"你输了!你现在还有"<<me.coin<<"金币\n";
cout<<"是否继续?继续请输入1,退出请输入0\n";
while(cin>>a){
if(a==1){
cls();
break;
}
else if(a==0){
cls();
return;
}
else cout<<"继续请输入1,退出请输入0\n";
}
}
}
//赌场
//
void cz(){
cls();
cout<<"1.小兵 攻击力:20 生命值:50 击杀奖励:金币*200"<<endl;
cout<<"2.喷火兵 攻击力:50 生命值:90 击杀奖励:金币*700"<<endl;
cout<<"3.重型装甲兵 攻击力:45 生命值:120 击杀奖励:金币*1000"<<endl;
cout<<"4.魔族将军 攻击力:100 生命值:250 击杀奖励:金币*2000"<<endl;
cout<<"5.魔族元帅 攻击力:250 生命值:450 击杀奖励:金币*3000"<<endl;
string name[10]={"","小兵","喷火兵","重型装甲兵","魔族将军","魔族元帅"};
int gong[10]={0,20,50,45,100,250},xue[10]={0,50,90,120,250,450},jiang[10]={0,200,700,1000,2000,3000};
cin>>x;
int a=xue[x],p=1;
cls();
while(a){
cout<<"你发动了攻击\n";
if(a-me.gong<=0){
Sleep(500);
cout<<"致命一击!怪物被击败了!\n";
break;
}
a-=me.gong;
Sleep(500);
cout<<"怪物失去"<<me.gong<<"点生命值,还剩"<<a<<"点生命值\n";
if(my_animal.cws!="无"){
Sleep(500);
cout<<"你的宠物 "<<my_animal.cws<<" 发动了攻击\n";
a-=my_animal.gong;
Sleep(500);
cout<<"怪物失去"<<my_animal.gong<<"点生命值,还剩"<<a<<"点生命值\n";
}
Sleep(1000);
cout<<"怪物发动了攻击\n";
if(wq.fys!="无"&&wq.xue!=0){
if(wq.xue>=gong[x]){
wq.xue-=gong[x];
Sleep(500);
cout<<"你的防御武器 "<<wq.fys<<" 替你挡下了攻击,现在它还剩"<<wq.xue<<"点生命值\n";
}
else{
me.xue=me.xue-gong[x]-wq.xue;
wq.xue=0;
Sleep(500);
cout<<"你的防御武器 "<<wq.fys<<" 替你挡下了部分攻击,现在它还剩"<<wq.xue<<"点生命值\n";
wq.fys="无";
Sleep(500);
cout<<"你挡下了部分攻击,现在你还剩"<<me.xue<<"点血量\n";
if(me.xue<=0){
Sleep(500);
cout<<"致命一击!你被击败了!\n";
p=0;
break;
}
}
}
if(my_animal.cws!="无"){
if(my_animal.xue-(gong[x]/2)<=0){
Sleep(500);
cout<<"致命一击!你的宠物被击败了!\n";
my_animal.cws="无";
my_animal.xue=my_animal.gong=0;
}
else{
my_animal.xue-=gong[x]/2;
Sleep(500);
cout<<"你的宠物 "<<my_animal.cws<<" 受到了伤害,现在它还剩"<<my_animal.xue<<"点生命值\n";
}
}
else{
if(me.xue-gong[x]<=0){
Sleep(500);
cout<<"致命一击!你被击败了!\n";
p=0;
break;
}
me.xue-=gong[x];
Sleep(500);
cout<<"你挡下了攻击,现在你还剩"<<me.xue<<"点血量\n";
}
}
if(p==1){
cout<<"现在,你有2个选择:\n1.继续战斗\n2.去商城\n";
cout<<"输入0退出\n";
while(cin>>x){
if(x>2||x<0) cout<<"现在,你有2个选择:1.继续战斗,2.去商城;输入0退出\n";
else break;
}
if(x==1) cz();
if(x==2) sc();
if(x==0) cls();
}
else{
cout<<"现在,你有2个选择:输入1去药房买药,输入0直接结束游戏\n";
while(cin>>x){
if(x>1||x<0) cout<<"现在,你有2个选择:输入1去药房买药,输入0直接结束游戏\n";
else break;
}
if(x==1) yao();
if(x==0) x=-1;
}
}
//出战
//
void print(){
cls();
printf("玩家--金币:%lld,血量:%lld,攻击:%lld\n",me.coin,me.xue,me.gong);
cout<<"宠物:"<<my_animal.cws;
if(my_animal.cws!="无") printf("--攻击:%lld,血量:%lld\n",my_animal.gong,my_animal.xue);
else cout<<endl;
cout<<"攻击武器:"<<wq.gjs<<endl;
if(wq.gjs!="无") printf("--攻击力:%lld\n",wq.gong);
else cout<<endl;
cout<<"防御武器:"<<wq.fys;
if(wq.fys!="无") printf("--血量:%lld",wq.xue);
cout<<"\n输入任意数字或字符退出";
cin>>x;
cls();
return;
}
//查看个人信息
//
void boss(){
cout<<"现在,你有4个选择:\n1.去商城\n2.去赌场\n3.迎战Boss\n4.查看个人信息\n";
cout<<"1 2 4选项运行完之后将会直接开始迎战Boss,请慎重考虑\n";
cin>>x;
if(x==0){
cout<<"感谢游玩!";
return;
}
if(x>3){
cout<<"输入数据太大!请重新输入\n";
cls();boss();
}
if(x<1){
cout<<"输入数据太小!请重新输入\n";
cls();boss();
}
if(x==1) sc();
if(x==2) dc();
if(x==4) print();
int a=700,p=1,gong=400;
cls();
while(a){
cout<<"你发动了攻击\n";
if(a-me.gong<=0){
Sleep(500);
cout<<"致命一击!Boss被击败了!\n";
break;
}
a-=me.gong;
Sleep(500);
cout<<"Boss失去"<<me.gong<<"点生命值,还剩"<<a<<"点生命值\n";
if(my_animal.cws!="无"){
Sleep(500);
cout<<"你的宠物 "<<my_animal.cws<<" 发动了攻击\n";
a-=my_animal.gong;
Sleep(500);
cout<<"Boss失去"<<my_animal.gong<<"点生命值,还剩"<<a<<"点生命值\n";
}
Sleep(1000);
cout<<"Boss发动了攻击\n";
if(wq.fys!="无"&&wq.xue!=0){
if(wq.xue>=gong){
wq.xue-=gong;
Sleep(500);
cout<<"你的防御武器 "<<wq.fys<<" 替你挡下了攻击,现在它还剩"<<wq.xue<<"点生命值\n";
}
else{
me.xue=me.xue-gong-wq.xue;
wq.xue=0;
Sleep(500);
cout<<"你的防御武器 "<<wq.fys<<" 替你挡下了部分攻击,现在它还剩"<<wq.xue<<"点生命值\n";
wq.fys="无";
Sleep(500);
cout<<"你挡下了部分攻击,现在你还剩"<<me.xue<<"点血量\n";
if(me.xue<=0){
Sleep(500);
cout<<"致命一击!你被击败了!\n";
p=0;
break;
}
}
}
if(my_animal.cws!="无"){
if(my_animal.xue-(gong/2)<=0){
Sleep(500);
cout<<"致命一击!你的宠物被击败了!\n";
my_animal.cws="无";
my_animal.xue=my_animal.gong=0;
}
else{
my_animal.xue-=gong/2;
Sleep(500);
cout<<"你的宠物 "<<my_animal.cws<<" 受到了伤害,现在它还剩"<<my_animal.xue<<"点生命值\n";
}
}
else{
if(me.xue-gong<=0){
Sleep(500);
cout<<"致命一击!你被击败了!\n";
p=0;
break;
}
me.xue-=gong;
Sleep(500);
cout<<"你挡下了攻击,现在你还剩"<<me.xue<<"点血量\n";
}
}
if(p==0) cout<<"你被魔族Boss击败了,从此你成为了魔族的奴隶···(坏结局)";
else cout<<"魔族Boss被击败了,于是魔族投靠了你,你成为了魔兽世界的统治者!(好结局)";
Sleep(1000);
}
//boss
signed main(){
me.coin=me.xue=100;
me.gong=50;
printf("欢迎进入魔兽世界!你现在有:%lld金币,%lld攻击力,%lld血量\n",me.coin,me.gong,me.xue);
cout<<"输入对应的数字,可以去到对应的区域或购买到对应的物品\n";
while(1){
if(me.coin>=7000){
cout<<"不幸消息:魔族Boss找到了你!(魔族Boss:小子,可以啊,这么快就已经有7000金币了。呵呵,成为我们魔族的奴隶吧!)\n";
cout<<"魔族Boss 攻击力:400,生命值:700,杀死Boss将直接通关\n";
boss();
break;
}
cout<<"现在,你有4个选择:\n1.去商城\n2.去赌场\n3.出战\n4.查看个人信息\n";
cout<<"输入0退出游戏\n";
cin>>x;
if(x==0){
cout<<"感谢游玩!";
return 0;
}
if(x>4){
cout<<"输入数据太大!请重新输入\n";
cls();continue;
}
if(x<1){
cout<<"输入数据太小!请重新输入\n";
cls();continue;
}
if(x==1) sc();
if(x==2) dc();
if(x==3){
cz();
if(x==-1){
cout<<"感谢游玩!";
return 0;
}
}
if(x==4) print();
}
}