[C++] 小游戏 斗破苍穹 2.2.1至2.11.5所有版本(中) zty出品

目录

2.8.2

2.9.1

2.10.1

2.10.2

2.10.3

2.10.4

2.10.5


2.8.2

#include<stdio.h>
#include<iostream>
#include<ctime>
#include<bits/stdc++.h>
#include<time.h> //suiji
#include<windows.h> //SLEEP函数
using namespace std;
struct Player //玩家结构体,并初始化player
{
char name[21];
int attack;
int defense;
int health;
long int max_health;
int level;
int exp;
int range_exp;
long int max_exp;
} player= {"勇者",50,40,100,100,1,0,0,100};
struct Enemy //怪的结构体,并初始化各种怪
{
char name[20];
char wupin[20];
int attack;
int defense;
int health;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int miss;
} strongman= {"森林巨人","传说圣甲",40,50,350,200,100,1,5,1,0},
witch= {"森林兽人","重甲",25,15,100,50,50,2,4,1,1},
xiyi= {"森林蜥蜴","铁甲",18,10,50,30,35,3,8,2,2},
big_strongman= {"熔岩巨龙","巨龙晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},
lion= {"皇家士兵","尚方宝剑",60,30,280,200,100,5,5,1,0},
horse= {"草原独眼巨人","碧血战锤",28,12,90,50,50,6,5,1,1},
bee= {"草原剑客","西洋剑",17,11,60,30,35,7,5,2,2},
shitu= {"*凋零风暴*","\0",2000,700,20000,10000,5000,0,1,1,0},
pika= {"皮卡超人","\0",300,40*8,1000,2000,1000,0,0,1,0},
dapika= {"雷霆皮卡","雷霆之刃",350,40*10,1500,3000,2000,8,6,6,0},
cl= {"中华长龙","\0",450,50*10,2000,3500,2500,0,0,1,0},
jl= {"东方金龙","万龙甲",500,40*20,5000,10000,5000,9,6,6,1},
guai= {"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place
{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,te1,te2,te3,te4;
} place= {1,2,3,4,5,6,7,8,9,10,11,12};
int max_exp=0;
int htsr;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=10;
int cao=3,jijiubao=3,baiyao=3,superbaiyao=3,miansi=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0,fang5=200,fang5n=0;
int gong=0,gong1=8,gong1n=0,gong2=15,gong2n=0,gong3=25,gong3n=0,gong4=60,gong4n=0,gong5=100,gong5n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0,htmmcs=5;
char gongname[20]="无",fangname[20]="无";
char proof;void AddWupin(int);
int AttackResult();
void BattleAct();  //      ____
void ChooseWupin();  //   /___/|
void DisplayState();  //  |   |/
void OrdinaryAct();     //▔▔
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);int main()
{
MessageBox (NULL, "欢迎来到斗破苍穹 2.8.2 正式版 !", "斗破苍穹 2.8.2 游戏开始提示", MB_OK);
int i=0,j=0,k=0;
char player_name[21];
Sleep(1000);
printf("                            _________________________________                    ");system("color 89");
printf("                          /________________________________/|                    ");system("color 89");
printf("               _.+=*^--{|欢迎来到 [苍穹世界] 2.8.2 正式版|}--^*=+._              ");system("color 89");
printf("                        ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔                       \n");system("color 89");
//如果想使用外挂,名字请输入:“zty ”。
Sleep(1000);
printf("这里是苍穹世界! 契晋赫苟国的漓嘉茜公主被神秘老人绑架了!\n\n\n 伟大的勇者啊~拿起你的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");system("color 89");
scanf("%s",player_name);
strncpy(player.name,player_name,20);
if(strcmp(player.name,"zty")==0)
{
printf("\n\n\n封印多年的郑族血统啊!你终于觉醒了!\n\n\nzty,你成为了天选之人,请你救出公主吧!\n\n\n");
player.attack=999;
player.defense=999;
player.health=9999;
player.max_health=9999;
}
getchar();OrdinaryAct();
return 0;
}int SuiJi()
{
srand((unsigned)time(NULL));
return rand()%10;
}int SuiJi100()
{
srand((unsigned)time(NULL));
return rand()%100;
}void ChooseWupin() //选择物品 并使用
{
printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨龙晶石%d个 12,免死金牌%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm,miansi);system("color 8A");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(cao>0)
{
printf("使用止血草,HP增加120\n\n\n");system("color 8A");
cao--;
if(player.health+120>player.max_health)player.health=player.max_health;
else player.health+=120;
}
else printf("没有止血草了\n\n\n");system("color 8A");
break;
case 2:
if(jijiubao>0)
{
printf("使用急救包,HP增加180\n\n\n");system("color 8A");
jijiubao--;
if(player.health+180>player.max_health)player.health=player.max_health;
else player.health+=180;
}
else printf("没有急救包了\n\n\n");system("color 8A");
break;
case 3:
if(baiyao>0)
{
printf("使用云南白药,HP增加240\nz\n\n");system("color 8A");
baiyao--;
if(player.health+240>player.max_health)player.health=player.max_health;
else player.health+=240;
}
else printf("没有云南白药了\n\n\n");system("color 8A");
break;
case 4:
if(superbaiyao>0)
{
printf("使用超级云南白药,HP增加400\n\n\n");system("color 8A");
superbaiyao--;
if(player.health+400>player.max_health)player.health=player.max_health;
else player.health+=400;
}
else printf("没有超级云南白药了\n\n\n");system("color 8A");
break;
case 5:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(boom>0)
{
printf("使用手雷,敌人HP减少100\n\n\n");system("color 84");
boom--;
guai.health-=100;
AttackResult();
}
}
else printf("非战斗状态,不能使用手雷!\n\n\n");system("color 84");
break;
case 6:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(dubiao>0)
{
printf("使用毒标,敌人HP减少200\n\n\n");system("color 84");
dubiao--;
guai.health-=200;
AttackResult();
}
}
else printf("非战斗状态,不能使用毒标!\n\n\n");system("color 84");
break;
case 7:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(atom_boom>0)
{
printf("使用手抛式原子弹,敌人HP减少1500\n\n\n");system("color 84");
atom_boom--;
guai.health-=1500;
AttackResult();
}
}
else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");system("color 84");
break;
case 8:
if(jingyancao>0 && player.level<200)
{printf("使用经验草,等级增加3级\n\n\n");system("color 8E");
jingyancao--;
player.max_health=player.max_health+60; 
player.attack+=9;
player.defense+=6;
player.level+=3;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
else    if(jingyancao<1)
{
printf("没有经验草了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 9:
if(jingyanbao>0 && player.level<200)
{
if(player.level>197&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
jingyanbao--;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验包,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{printf("使用经验包,等级增加5级\n\n\n");system("color 8E");
jingyanbao--;
player.max_health=player.max_health+100; 
player.attack+=15;
player.defense+=10;
player.level+=5;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(jingyanbao<1)
{
printf("没有经验包了");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 10:
if(jingyanshi>0 && player.level<200)
{
if(player.level>192&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health+=sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验石,等级增加%d级\n",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用经验石,等级增加10级\n");system("color 8E");
jingyanshi--;
player.max_health=player.max_health+200; 
player.attack+=30;
player.defense+=20;
player.level+=10;
player.health=player.max_health;
}
}
else if(jingyanshi<1)
{
printf("没有经验石了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 11:
if(strongman_arm>0 && player.level<200)
{
if(player.level>182&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用巨龙晶石,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用巨龙晶石,等级增加20级\n\n\n");system("color 8E");
strongman_arm--;
player.max_health=player.max_health+400; 
player.attack+=60;
player.defense+=40;
player.health+=999999;
player.level+=20;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(strongman_arm<1)
{
printf("没有巨龙晶石了。\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 12:
if(miansi>0)
{
printf("使用免死金牌,HP满\n\n\n");system("color 8b");
miansi--;
if(player.health+999999>player.max_health)player.health=player.max_health;
else player.health+=999999;
}else printf("没有免死金牌了\n\n\n"); system("color 8b");break;
case 0:
break;
default:
printf("ChooseWupin error!\n\n\n");
}
}
int AttackResult() //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
if(guai.health<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);system("color 8C");
player.exp+=guai.exp;
player.range_exp+=guai.exp;
money+=guai.money;
s=SuiJi();
if(s<guai.wupinpro)
{
printf("从敌人尸骸中发现");system("color 8C");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
}
WhetherLevelUp();
if(strcmp(guai.name,"*凋零风暴*")==0)
{
printf("你把公主救了出来\n\n你可以在主页面退出\n\n");system("color 8C");}
return 1; //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
}
else
{
int s=SuiJi();if((guai.attack+s-player.defense/3)<0)
{
player.health-=1;
printf("%s反击,你的HP减少了 1\n\n",guai.name);system("color 8C");
}
else
{
player.health-=guai.attack+s-player.defense/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);system("color 8C");
}
if(player.health<0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);system("color CC");
money-=player.level*500;
player.health=player.max_health/5;
OrdinaryAct();//
return 1;
}
}
return 0;
}
void AddWupin(int wupin_sign)
{switch(wupin_sign)
{
case 1:
fang4n++;
break;
case 2:
fang3n++;
break;
case 3:
fang2n++;
break;
case 4:
strongman_arm++;
break;
case 5:
gong4n++;
break;
case 6:
gong3n++;
break;
case 7:
gong2n++;
break;
case 8:
gong5n++;
break;
case 9:
fang5n++;
break;
default:
printf("AddWupin error\n\n\n");
}}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/100;
int l2=player.range_exp/300;
int l3=player.range_exp/600;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);system("color 8E");
player.exp=(player.exp+guai.exp) || player.exp-((player.exp+guai.exp) || player.exp)%100;
player.attack+=3*l1;
player.defense+=2*l1;
player.max_health+=20*l1;
player.health=player.max_health;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l2;
player.defense+=2*l2;
player.max_health+=20*l2;
player.health=player.max_health;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l3;
player.defense+=2*l3;
player.max_health+=20*l3;
player.health=player.max_health;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
void OrdinaryAct() //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
{while(1)
{
// \(1000);
// system("cls");
puts("=============================================================================");system("color 89");
printf("要做什么?\n\n\n 1,移动 2,道具 3,对话 4,查看状态 5,装备 6,关于游戏 7,打开后台 0,退出游戏\n\n\n");system("color 89");
puts("=============================================================================");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1: //显示移动菜单
printf("要去哪里?\n\n\n");system("color 89");
printf("1,小郑子酒吧 2,诺亚方舟酒店 3,北朝商会 4,红玉拍卖行 5,冒险荒野\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:
place_sign=place.hotel; //进入旅店
printf("金币:%d",money);system("color 89");
printf("要开房吗? 200个金币 1,是 0,否\n\n\n");system("color 89");
choose_number=1;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(money-200<=0) //判断钱是否够
{
printf("Sorry,你的钱不够~\n\n\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
else
{
printf("好好休息\nHP满\n第二天了\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
money-=200; //花费200住店费
player.health=player.max_health; //体力满
}
break;
case 0:
printf("下次再来!\n\n\n");system("color 89");
break;
default:
printf("hotel talk error!\n\n\n");system("color 89");
}
place_sign=0;
break;
case 3:
int yongju,gong,fang;
printf("请问您要购买什么类型的物品?\n\n\n 1,攻击装备 2,防御装备 3,一次性伤害武器\n\n\n");system("color 89");
scanf("%d",&yongju);
switch(yongju)
{
case 1:
printf("请问您要购买什么武器?\n\n\n 1,匕首¥300 2,西洋剑¥500 3,碧血战锤¥1000\n\n\n");system("color 89");
scanf("%d",&gong);
switch(gong)
{
case 1:
if(money>=300)
{
gong1n++;
money=money-300;
printf ("匕首+1\n");system("color 89");
printf("匕首:%d个\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 2:
if(money>=500)
{
gong2n++;
money=money-500;
printf ("西洋剑+1\n");system("color 89");
printf("西洋剑:%d个\n",gong2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 3:
if(money>=1000)
{
gong3n++;
money=money-1000;
printf ("碧血战锤+1\n");system("color 89");
printf("碧血战锤:%d个\n",gong3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
default:
printf("对不起,我们只会打造以上武器。");system("color 89");
break;}
break;
case 2:
int fang;
printf("请问您要购买什么防具?\n\n\n 1,布衣¥300 2,铁甲¥500 3,重甲¥1000\n\n\n");system("color 89");
scanf("%d",&fang);
switch(fang)
{
case 1:
if(money>=300)
{
fang1n++;
money=money-300;
printf ("布衣+1\n");system("color 89");
printf("布衣:%d个\n",fang1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
case 2:
if(money>=500)
{
fang2n++;
money=money-500;
printf ("铁甲+1\n");system("color 89");
printf("铁甲:%d个\n",fang2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 3:
if(money>=1000)
{
fang3n++;
money=money-1000;
printf ("重甲+1\n");system("color 89");
printf("重甲:%d个\n",fang3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
default:
printf("对不起,我们只会打造以上防具。");system("color 89");
break;}
printf("金币:%d\n",money);system("color 89");
break;
case 3:
printf("请问您要购买什么一次性伤害武器?\n 1,手雷 2,毒镖 3,手抛式原子弹\n\n\n");system("color 89");
int yi;
scanf("%d",&yi);
switch(yi)
{
case 1:
if(money>=300 && boom<5)
{
boom++;
money=money-300;
printf("手雷+1\n");system("color 89");
printf("手雷:%d\n",boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 2:
if(money>=600 && dubiao<9999999)
{
dubiao++;
money=money-600;
printf("毒镖+1\n");system("color 89");
printf("毒镖:%d\n",dubiao);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
break;
case 3:
if(money>=1000 && atom_boom<5)
{
atom_boom=atom_boom+1;
money=money-1000;
printf("手抛式原子弹+1\n");system("color 89");
printf("手抛式原子弹:%d\n",atom_boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
}
}
break;
case 4:
printf ("欢迎您光临本拍卖行,请问您要卖什么东西?\n\n");system("color 89");
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,碧血战锤:%d个 4,尚方宝剑:%d个 5,皮卡大剑:%d个\n",gong1n,gong2n,gong3n,gong4n,gong5n);system("color 89");
printf("防御装备: 6,布衣:%d个 7,铁甲:%d个 8,重甲:%d个 9,传说圣甲:%d个 10,万龙甲:%d个\n11,巨龙晶石:%d个 0,返回\n\n\n",fang1n,fang2n,fang3n,fang4n,fang5n,strongman_arm);system("color 89");
int pai,shu,i;
scanf("%d",&pai);system("color 89");
switch(pai)
{
case 1:
printf("请问您要出售几件?");system("color 89");
scanf("%d",&shu);
if(gong1n>=shu)
{
gong1n=gong1n-shu;
money=money+shu*240;
printf("匕首:%d\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("装备数不够,无法出售!\n");system("color 89");
break;
}
break;
case 2:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong2n>=shu)
{
gong2n=gong2n-shu;
money=money+shu*400;
printf("西洋剑:%d\n",gong2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 3:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong3n>=shu)
{
gong3n=gong3n-shu;
money=money+shu*800;
printf("碧血战锤:%d\n",gong3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 4:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong4n>=shu)
{
gong4n=gong4n-shu;
money=money+shu*1500;
printf("尚方宝剑:%d\n",gong4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 5:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong5n>=shu)
{
gong5n=gong5n-shu;
money=money+shu*3000;
printf("皮卡大剑:%d\n",gong5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 6:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang1n>=shu)
{
fang1n=fang1n-shu;
money=money+shu*240;
printf("布衣:%d\n",fang1n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 7:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang2n>=shu)
{
fang2n=fang2n-shu;
money=money+shu*500;
printf("铁甲:%d\n",fang2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 8:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang3n>=shu)
{
fang3n=fang3n-shu;
money=money+shu*800;
printf("重甲:%d\n",fang3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
break;
case 9:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang4n>=shu)
{
fang4n=fang4n-shu;
money=money+shu*1500;
printf("传说圣甲:%d\n",fang4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 10:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang5n>=shu)
{
fang5n=fang5n-shu;
money=money+shu*3000;
printf("万龙甲:%d\n",fang5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 11:
printf("请问您要出售几颗?");
scanf("%d",&shu);
if(strongman_arm>=shu)
{
strongman_arm=strongman_arm-shu;
money=money+shu*4000;
printf("巨龙晶石:%d\n",strongman_arm);
printf("金币:%d\n",money);
}
else
{
printf("晶石数不够,无法出售!\n");
break;
}
break;
case 0:
break;
break;
default:
printf("没有该装备,无法出售!\n");
break;
}break;
case 5:
int yewai;
while(1)
{
puts("=============================================================================");
printf("要去哪冒险呢?");
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★\n\n 5,炽热炎洞 危险程度:★★★★\n\n 6,皮卡超人游乐场 危险程度★★★★★\n\n 7,花朵宫殿 危险程度:★★★★★\n\n 8,五千龙穴 危险程度:★★★★★★\n\n 0,离开\n");system("color 8c");
puts("=============================================================================");
scanf("%d",&yewai);
switch(yewai)
{
case 1:
place_sign=place.forest1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
//不用调用OAct函数,会自动执行OAct函数;
}
break;
case 3:
place_sign=place.forest2;
s=SuiJi();
if(s<7)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 5:
place_sign=place.forest3;
s=SuiJi();
if(s<7)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<10)
{
battle=1;
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 2:
place_sign=place.grass1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=bee;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 4:
place_sign=place.grass2;
s=SuiJi();
if(s<7)
{
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 6:
s=SuiJi();
if(s<7)
{
battle=1; 
guai=pika;
printf("你感到了强烈的电流涌入全身,%s走了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=dapika;
printf("天空一声巨响,三道闪电劈到%s的身上,%s手持雷霆之刃冲了过来!\n\n\n",guai.name,guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 8:
s=SuiJi();
if(s<=3)
{
battle=1; 
guai=cl;
printf("一条长龙横卧洞内,你定睛一看,是%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=8 && s>=4)
{
battle=1; 
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else {
battle=1;
guai=jl;
printf("一条金光闪闪的长龙盘旋空中,你定睛一看,是传说中的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 7:
place_sign=place.grass3;
s=SuiJi();
if(s<7)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
if(strongman_arm>=1)
{
printf("神秘老人:\n\n\n 哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!巨龙晶石我要了,公主你也别想带走!\n\n\n");
guai=shitu;
printf("瞬间,你被一团黑雾笼罩,你被拉入了凋零幻境,%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else printf("神秘老人:\n\n\n 年轻人,你好啊.如果你有巨龙晶石,我可以告诉你公主的下落哦~\n\n\n");
}
else
{
printf("这里安全\n\n\n");
}
break;
if(yewai!=0)
{
printf("该区域为未知区域,无法进入。\n\n\n");system("color 89");
break;
}
}
if(yewai==0)
{
break;
printf("已离开荒野。");system("color 89");
}
}}
break;case 2:
ChooseWupin();
break; //显示道具,并可以使用.
case 3: //对话选项
if(place_sign==place.bar)
{
printf("要和谁说话?\n\n\n1,红发女郎 2,赏金猎人 3,酒吧老板 4,药品商人\n\n\n"); system("color 89");//显示对话人物
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
printf("红发女郎:\n\n\n 吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");system("color 89");
break;
case 2:
if(fang1n<1&&gong1n<1)
{
printf("赏金猎人:\n\n\n 你要救公主啊!好胆量!\n\n\n 不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");system("color 89");
printf("%s心想:哇,这位大叔人真好啊!\n\n\n)",player.name);
gong1n++;
fang1n++;
}
else printf("赏金猎人:\n\n\n 加油吧,年轻人!\n\n\n 不要被外面世界所吓倒!\n\n\n");system("color 89");
break;
case 3:
printf("要喝点什么?\n\n\n 1,二锅头25金币 HP+20 2,伏特加80金币 HP+50 3,人头马面150金币 HP+100 0,返回\n\n\n");system("color 89");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(money<25){
printf("钱不够!");system("color 89");
}
else
{
if(player.health+20<=player.max_health){
printf("HP+20.");system("color 89");
money-=25;
player.health+=20;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 2:
if(money<80){
printf("钱不够!");system("color 89");
}
else{
if(player.health+50<=player.max_health){
printf("HP+50.");system("color 89");
money-=80;
player.health+=50;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 3:
if(money<150){
printf("钱不够!");system("color 89");
}
else{
if(player.health+100<=player.max_health){
printf("HP+100.");system("color 89");
money-=150;
player.health+=100;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 0:
printf("下次再来!\n");system("color 89");
break;
default:
printf("输入错误\n\n\n");system("color 89");
break;
}
break;
}
break;
case 4:
printf("你要干什么?\n\n\n 1,买东西 2,聊天 \n\n\n");system("color 89");
int mai;
scanf("%d",&mai);
if(mai==1){
printf("买点什么呢?\n1,止血草¥100 HP+60\n2,急救包¥150 HP+80 \n3,云南白药¥250 HP+120\n4,超级云南白药¥400 HP+200 \n5,经验草¥150 经验+300 \n6,经验包¥600 经验+600\n7,经验石¥500 经验+1000 \n0,拜拜\n");system("color 89");
int dongxi;
scanf("%d",&dongxi);
switch(dongxi){
case 1:
if(money>=100&&cao<6){
cao++;
money=money-100;
printf ("止血草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 2:
if(money>=150&&jijiubao<10){
jijiubao++;
money=money-150;
printf ("急救包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 3:
if(money>=250&&baiyao<10){
baiyao++;
money=money-250;
printf ("云南白药+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 4:
if(money>=400&&superbaiyao<10){
superbaiyao++;
money=money-400;
printf ("超级云南白药+1\n");system("color 89");}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 5:
if(money>=150){
jingyancao++;
money=money-150;
printf ("经验草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 6:
if(money>=300){
jingyanbao++;
money=money-300;
printf ("经验包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 7:
if(money>=500){
jingyanshi++;
money=money-500;
printf ("经验石+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
}
case 0:
printf("金币:%d\n",money);system("color 89");
printf("再见,欢迎下次再来!\n");system("color 89");
break;}
if(mai==2){
printf("药品商人:去去去,老子没时间陪你聊。\n");system("color 89");
}
}
}
else if(place_sign==place.hotel)
printf("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
else printf("这里好像没人可以聊天\n\n\n");system("color 89");
break;
case 4:
DisplayState();
break; //显示状态
case 5: //装备
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,碧血战锤:%d个 4,尚方宝剑:%d个 5,雷霆之刃:%d个\n\n\n",gong1n,gong2n,gong3n,gong4n,gong5n);system("color 89");
printf("防御装备: 6,布衣:%d个 7,铁甲:%d个 8,重甲:%d个 9,传说圣甲:%d个 10万龙甲:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang3n,fang4n,fang5n);system("color 89");
printf("选择要装备的武器或防具:\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(gong1n>=1){
printf("拿起了匕首\n\n\n");system("color 89");
gong=gong1;
strcpy(gongname,"匕首");system("color 89");
}
else printf("你没有匕首可以装备\n\n\n");system("color 89");
break;
case 2:
if(gong2n>=1){
printf("拿起了西洋剑\n\n\n");system("color 89");
gong=gong2;
strcpy(gongname,"西洋剑");system("color 89");
}
else printf("你没有西洋剑可以装备\n\n\n");system("color 89");
break;
case 3:
if(gong3n>=1){
printf("拿起了碧血战锤\n\n\n");
gong=gong3;
strcpy(gongname,"碧血战锤");
}
else printf("你没有碧血战锤可以装备\n\n\n");
break;
case 4:
if(gong4n>=1){
printf("拿起了尚方宝剑\n\n\n");
gong=gong4;
strcpy(gongname,"尚方宝剑");
}
else printf("你没有尚方宝剑可以装备\n\n\n");
break;
case 5:
if(gong5n>=1){
printf("拿起了雷霆之刃\n\n\n");
gong=gong5;
strcpy(gongname,"雷霆之刃");
}
else printf("你没有雷霆之刃可以装备\n\n\n");
break;
case 6:
if(fang1n>=1){
printf("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else printf("你没有布衣可以装备\n\n\n");
break;
case 7:
if(fang2>=1){
printf("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else printf("你没有铁甲可以装备\n\n\n");
break;
case 8:
if(fang3n>=1){
printf("穿上了重甲\n\n\n");
fang=fang3;
strcpy(fangname,"重甲");
}
else printf("你没有重甲可以装备\n\n\n");
break;
case 9:
if(fang4n>=1){
printf("穿上了传说圣甲\n\n\n");
fang=fang4;
strcpy(fangname,"传说圣甲");
}
else printf("你没有传说圣甲可以装备\n\n\n");
break;
case 10:
if(fang5n>=1){
printf("穿上了万龙甲\n\n\n");
fang=fang5;
strcpy(fangname,"万龙甲");
}
else printf("你没有万龙甲可以装备\n\n\n");
break; 
case 0:
printf("未更换装备\n\n\n");
break;
default:
printf("change error!");
}
break;
case 6:
printf(" 您好,欢迎您玩苍穹世界。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty ”(不包括双引号)。由于2.8.1版本的buy,我们在2.8.1的基础上进行修改,已修复该bug.希望大家喜欢。在这里要感谢吴昊同学,他给了我们许多宝贵的建议,谢谢。\n");system("color 89");
break;
case 0:
printf("确定退出游戏?(Y/N)\n\n\n");system("color 89");
getchar();
proof=getchar();
if(proof=='y'||proof=='Y'){
printf("数据存储中...");system("color 89");
//向文件中更新数据;
getchar();
printf("按回车退出");system("color 89");
getchar();
return;
}
else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
else printf("继续!\n\n\n");
break;
default:
printf("输入错误!\n\n\n");
break;
case 7:int mi;cout<<"=====*【后台管理 简称开挂 测试Bug】*=================================\n请输入管理者密码      想退出就在管理密码那输入211\n=====*【想要后台密码就问郑桐羽,只能输数字,别问为什么,否则死循环】*=========\n管理密码:";cin>>mi;if(mi%20120913==0){cout<<"输入正确!\n欢迎进入后台!\n后台服务:\n=======================\n1.金币加9999\n2.血量加9999\n3.现有血量加9999\n4.攻击加9999\n5.防御加9999\n211.退出\n=======================\n输入>>> "<<endl;cin>>htsr;if(htsr==1){cout<<"成功获得效果 *金币加9999\n";money+=9999;}if(htsr==2){cout<<"成功获得效果 *血量加9999\n";player.health+=9999;}if(htsr==3){cout<<"成功获得效果 *血量上限加9999\n";player.max_health+=9999;}if(htsr==4){cout<<"成功获得效果 *攻击加9999\n";player.attack+=9999;}if(htsr==5){cout<<"成功获得效果 *防御加9999\n";player.defense+=9999;}if(htsr%211==0){cout<<"成功退出\n";continue;}}else{cout<<"输入错误!请检查!"<<endl;continue;}break;
}
}
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
printf("等级:%d 经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
}
void BattleAct()
{
while(1)
{
puts("=============================================================================");
printf("要怎么办?\n\n\n 1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
s=SuiJi();
printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
guai.health-=player.attack+s+gong-guai.defense/3;
if(AttackResult())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
ChooseWupin();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:
DisplayState();
break; //显示状态
case 4:
s=SuiJi();
if(s<4) //40%的概率可以逃跑
{
printf("%s逃跑了~\n\n\n",player.name);
battle=0;
return;
}
else printf("%s逃跑失败!\n\n\n",player.name);
break;
default:
printf("输入错误,重新输入!\n\n\n");
}
}
}
void printf(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
Sleep(100);
}
} 

2.9.1

#include<stdio.h>
#include<iostream>
#include<ctime>
#include<bits/stdc++.h>
#include<time.h> //suiji
#include<windows.h> //SLEEP函数
using namespace std;
struct Player //玩家结构体,并初始化player
{
char name[21];
int attack;
int defense;
int health;
long int max_health;
int level;
int exp;
int range_exp;
long int max_exp;
} player= {"勇者",50,40,100,100,1,0,0,100};
struct Enemy //怪的结构体,并初始化各种怪
{
char name[20];
char wupin[20];
int attack;
int defense;
int health;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int miss;
} strongman= {"森林巨人","传说圣甲",40,50,350,200,100,1,5,1,0},
witch= {"森林兽人","重甲",25,15,100,50,50,2,4,1,1},
xiyi= {"森林蜥蜴","铁甲",18,10,50,30,35,3,8,2,2},
big_strongman= {"熔岩巨龙","巨龙晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},
lion= {"皇家士兵","尚方宝剑",60,30,280,200,100,5,5,1,0},
horse= {"草原独眼巨人","碧血战锤",28,12,90,50,50,6,5,1,1},
bee= {"草原剑客","西洋剑",17,11,60,30,35,7,5,2,2},
shitu= {"凋零女巫","凋零之心",2000,700,20000,10000,5000,10,10,1,0},
dljs= {"凋零巨兽","凋零之心",2000,700,20000,10000,5000,10,10,1,0},
pika= {"皮卡超人","\0",300,40*8,1000,2000,1000,0,0,1,0},
dapika= {"雷霆皮卡","雷霆之刃",350,40*10,1500,3000,2000,8,6,6,0},
cl= {"中华长龙","\0",450,50*10,2000,3500,2500,0,0,1,0},
jl= {"东方金龙","万龙甲",500,40*20,5000,10000,5000,9,6,6,1},
gst={"凋零共生体","\0",1800,65*10,15000,0,4500,0,0,1,0},
dlkl= {"凋零骷髅","\0",3000,30*10,12000,0,5000,0,0,1,0},
dlfb= {".+*凋零风暴*+.","\0",18000,200*10,98000,0,500000,0,0,1,0},
guai= {"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place
{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,te1,te2,te3,te4;
} place= {1,2,3,4,5,6,7,8,9,10,11,12};
int max_exp=0;
int htsr;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=10;
int cao=3,jijiubao=3,baiyao=3,superbaiyao=3,miansi=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0,fang5=200,fang5n=0;
int gong=0,gong1=8,gong1n=0,gong2=15,gong2n=0,gong3=25,gong3n=0,gong4=60,gong4n=0,gong5=100,gong5n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0,htmmcs=5;
int diaolingxin=0; 
char gongname[20]="无",fangname[20]="无";
char proof;void AddWupin(int);
int AttackResult();
void BattleAct();  //      ____
void ChooseWupin();  //   /___/|
void DisplayState();  //  |   |/
void OrdinaryAct();     //▔▔
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);int main()
{
MessageBox (NULL, "欢迎来到斗破苍穹 2.9.0 正式版 !", "斗破苍穹 2.9.0 游戏开始提示", MB_OK);
int i=0,j=0,k=0;
char player_name[21];
Sleep(1000);
printf("                            _________________________________                    ");system("color 89");
printf("                          /________________________________/|                    ");system("color 89");
printf("               _.+=*^--{|欢迎来到 [苍穹世界] 2.9.0 正式版|}--^*=+._              ");system("color 89");
printf("                        ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔                       \n");system("color 89");
//如果想使用外挂,名字请输入:“zty ”。
Sleep(1000);
printf("这里是苍穹世界! 契晋赫苟国的漓嘉茜公主被神秘老人绑架了!\n\n\n 伟大的勇者啊~拿起你的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");system("color 89");
scanf("%s",player_name);
strncpy(player.name,player_name,20);
if(strcmp(player.name,"zty")==0)
{
printf("\n\n\n封印多年的郑族血统啊!你终于觉醒了!\n\n\nzty,你成为了天选之人,请你救出公主吧!\n\n\n");
player.attack=999;
player.defense=999;
player.health=9999;
player.max_health=9999;
}
getchar();OrdinaryAct();
return 0;
}int SuiJi()
{
srand((unsigned)time(NULL));
return rand()%10;
}int SuiJi100()
{
srand((unsigned)time(NULL));
return rand()%100;
}void ChooseWupin() //选择物品 并使用
{
printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨龙晶石%d个 12,免死金牌%d个 13,凋零之心%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm,miansi,diaolingxin);system("color 8A");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(cao>0)
{
printf("使用止血草,HP增加120\n\n\n");system("color 8A");
cao--;
if(player.health+120>player.max_health)player.health=player.max_health;
else player.health+=120;
}
else printf("没有止血草了\n\n\n");system("color 8A");
break;
case 2:
if(jijiubao>0)
{
printf("使用急救包,HP增加180\n\n\n");system("color 8A");
jijiubao--;
if(player.health+180>player.max_health)player.health=player.max_health;
else player.health+=180;
}
else printf("没有急救包了\n\n\n");system("color 8A");
break;
case 3:
if(baiyao>0)
{
printf("使用云南白药,HP增加240\nz\n\n");system("color 8A");
baiyao--;
if(player.health+240>player.max_health)player.health=player.max_health;
else player.health+=240;
}
else printf("没有云南白药了\n\n\n");system("color 8A");
break;
case 4:
if(superbaiyao>0)
{
printf("使用超级云南白药,HP增加400\n\n\n");system("color 8A");
superbaiyao--;
if(player.health+400>player.max_health)player.health=player.max_health;
else player.health+=400;
}
else printf("没有超级云南白药了\n\n\n");system("color 8A");
break;
case 5:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(boom>0)
{
printf("使用手雷,敌人HP减少100\n\n\n");system("color 84");
boom--;
guai.health-=100;
AttackResult();
}
}
else printf("非战斗状态,不能使用手雷!\n\n\n");system("color 84");
break;
case 6:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(dubiao>0)
{
printf("使用毒标,敌人HP减少200\n\n\n");system("color 84");
dubiao--;
guai.health-=200;
AttackResult();
}
}
else printf("非战斗状态,不能使用毒标!\n\n\n");system("color 84");
break;
case 7:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(atom_boom>0)
{
printf("使用手抛式原子弹,敌人HP减少1500\n\n\n");system("color 84");
atom_boom--;
guai.health-=1500;
AttackResult();
}
}
else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");system("color 84");
break;
case 8:
if(jingyancao>0 && player.level<200)
{printf("使用经验草,等级增加3级\n\n\n");system("color 8E");
jingyancao--;
player.max_health=player.max_health+60; 
player.attack+=9;
player.defense+=6;
player.level+=3;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
else    if(jingyancao<1)
{
printf("没有经验草了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 9:
if(jingyanbao>0 && player.level<200)
{
if(player.level>197&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
jingyanbao--;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验包,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{printf("使用经验包,等级增加5级\n\n\n");system("color 8E");
jingyanbao--;
player.max_health=player.max_health+100; 
player.attack+=15;
player.defense+=10;
player.level+=5;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(jingyanbao<1)
{
printf("没有经验包了");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 10:
if(jingyanshi>0 && player.level<200)
{
if(player.level>192&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health+=sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验石,等级增加%d级\n",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用经验石,等级增加10级\n");system("color 8E");
jingyanshi--;
player.max_health=player.max_health+200; 
player.attack+=30;
player.defense+=20;
player.level+=10;
player.health=player.max_health;
}
}
else if(jingyanshi<1)
{
printf("没有经验石了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 11:
if(strongman_arm>0 && player.level<200)
{
if(player.level>182&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用巨龙晶石,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用巨龙晶石,等级增加20级\n\n\n");system("color 8E");
strongman_arm--;
player.max_health=player.max_health+400; 
player.attack+=60;
player.defense+=40;
player.health+=999999;
player.level+=20;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(strongman_arm<1)
{
printf("没有巨龙晶石了。\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 12:
if(miansi>0)
{
printf("使用免死金牌,HP满\n\n\n");system("color 8b");
miansi--;
if(player.health+999999>player.max_health)player.health=player.max_health;
else player.health+=999999;
}else printf("没有免死金牌了\n\n\n"); system("color 8b");break;
break;
case 13:
if(diaolingxin>0)
{
printf("使用凋零之心\nHP+100  攻击+100\n\n\n");system("color 8b");
diaolingxin--;
player.health+=100;
player.attack+=100; 
}else printf("没有凋零之心了\n\n\n"); system("color 8b");break;
case 0:
break;
default:
printf("ChooseWupin error!\n\n\n");
}
}
int AttackResult() //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
if(guai.health<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);system("color 8C");
player.exp+=guai.exp;
player.range_exp+=guai.exp;
money+=guai.money;
s=SuiJi();
if(s<guai.wupinpro)
{
printf("从敌人尸骸中发现");system("color 8C");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
}
WhetherLevelUp();
if(strcmp(guai.name,"*凋零巨兽*")==0)
{
printf("你把公主救了出来\n\n你从公主口中得知了一个更大的阴谋,你可以进入凋零世界\n\n");system("color 8C");}
return 1; //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
}
else
{
int s=SuiJi();if((guai.attack+s-player.defense/3)<0)
{
player.health-=1;
printf("%s反击,你的HP减少了 1\n\n",guai.name);system("color 8C");
}
else
{
player.health-=guai.attack+s-player.defense/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);system("color 8C");
}
if(player.health<0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);system("color CC");
money-=player.level*500;
player.health=player.max_health/5;
OrdinaryAct();//
return 1;
}
}
return 0;
}
void AddWupin(int wupin_sign)
{switch(wupin_sign)
{
case 1:
fang4n++;
break;
case 2:
fang3n++;
break;
case 3:
fang2n++;
break;
case 4:
strongman_arm++;
break;
case 5:
gong4n++;
break;
case 6:
gong3n++;
break;
case 7:
gong2n++;
break;
case 8:
gong5n++;
break;
case 9:
fang5n++;
break;
case 10:
diaolingxin++;
break;
default:
printf("AddWupin error\n\n\n");
}}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/100;
int l2=player.range_exp/300;
int l3=player.range_exp/600;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);system("color 8E");
player.exp=(player.exp+guai.exp) || player.exp-((player.exp+guai.exp) || player.exp)%100;
player.attack+=3*l1;
player.defense+=2*l1;
player.max_health+=20*l1;
player.health=player.max_health;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l2;
player.defense+=2*l2;
player.max_health+=20*l2;
player.health=player.max_health;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l3;
player.defense+=2*l3;
player.max_health+=20*l3;
player.health=player.max_health;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
void OrdinaryAct() //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
{while(1)
{
// \(1000);
// system("cls");
puts("=============================================================================");system("color 89");
printf("要做什么?\n\n\n 1,移动 2,道具 3,对话 4,查看状态 5,装备 6,关于游戏 7,打开后台 0,退出游戏\n\n\n");system("color 89");
puts("=============================================================================");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1: //显示移动菜单
printf("要去哪里?\n\n\n");system("color 89");
printf("1,小郑子酒吧 2,诺亚方舟酒店 3,北朝商会 4,红玉拍卖行 5,冒险荒野\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:
place_sign=place.hotel; //进入旅店
printf("金币:%d",money);system("color 89");
printf("要开房吗? 200个金币 1,是 0,否\n\n\n");system("color 89");
choose_number=1;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(money-200<=0) //判断钱是否够
{
printf("Sorry,你的钱不够~\n\n\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
else
{
printf("好好休息\nHP满\n第二天了\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
money-=200; //花费200住店费
player.health=player.max_health; //体力满
}
break;
case 0:
printf("下次再来!\n\n\n");system("color 89");
break;
default:
printf("hotel talk error!\n\n\n");system("color 89");
}
place_sign=0;
break;
case 3:
int yongju,gong,fang;
printf("请问您要购买什么类型的物品?\n\n\n 1,攻击装备 2,防御装备 3,一次性伤害武器\n\n\n");system("color 89");
scanf("%d",&yongju);
switch(yongju)
{
case 1:
printf("请问您要购买什么武器?\n\n\n 1,匕首¥300 2,西洋剑¥500 3,碧血战锤¥1000\n\n\n");system("color 89");
scanf("%d",&gong);
switch(gong)
{
case 1:
if(money>=300)
{
gong1n++;
money=money-300;
printf ("匕首+1\n");system("color 89");
printf("匕首:%d个\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 2:
if(money>=500)
{
gong2n++;
money=money-500;
printf ("西洋剑+1\n");system("color 89");
printf("西洋剑:%d个\n",gong2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 3:
if(money>=1000)
{
gong3n++;
money=money-1000;
printf ("碧血战锤+1\n");system("color 89");
printf("碧血战锤:%d个\n",gong3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
default:
printf("对不起,我们只会打造以上武器。");system("color 89");
break;}
break;
case 2:
int fang;
printf("请问您要购买什么防具?\n\n\n 1,布衣¥300 2,铁甲¥500 3,重甲¥1000\n\n\n");system("color 89");
scanf("%d",&fang);
switch(fang)
{
case 1:
if(money>=300)
{
fang1n++;
money=money-300;
printf ("布衣+1\n");system("color 89");
printf("布衣:%d个\n",fang1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
case 2:
if(money>=500)
{
fang2n++;
money=money-500;
printf ("铁甲+1\n");system("color 89");
printf("铁甲:%d个\n",fang2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 3:
if(money>=1000)
{
fang3n++;
money=money-1000;
printf ("重甲+1\n");system("color 89");
printf("重甲:%d个\n",fang3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
default:
printf("对不起,我们只会打造以上防具。");system("color 89");
break;}
printf("金币:%d\n",money);system("color 89");
break;
case 3:
printf("请问您要购买什么一次性伤害武器?\n 1,手雷 2,毒镖 3,手抛式原子弹\n\n\n");system("color 89");
int yi;
scanf("%d",&yi);
switch(yi)
{
case 1:
if(money>=300 && boom<5)
{
boom++;
money=money-300;
printf("手雷+1\n");system("color 89");
printf("手雷:%d\n",boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 2:
if(money>=600 && dubiao<9999999)
{
dubiao++;
money=money-600;
printf("毒镖+1\n");system("color 89");
printf("毒镖:%d\n",dubiao);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
break;
case 3:
if(money>=1000 && atom_boom<5)
{
atom_boom=atom_boom+1;
money=money-1000;
printf("手抛式原子弹+1\n");system("color 89");
printf("手抛式原子弹:%d\n",atom_boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
}
}
break;
case 4:
printf ("欢迎您光临本拍卖行,请问您要卖什么东西?\n\n");system("color 89");
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,碧血战锤:%d个 4,尚方宝剑:%d个 5,皮卡大剑:%d个\n",gong1n,gong2n,gong3n,gong4n,gong5n);system("color 89");
printf("防御装备: 6,布衣:%d个 7,铁甲:%d个 8,重甲:%d个 9,传说圣甲:%d个 10,万龙甲:%d个\n11,巨龙晶石:%d个 0,返回\n\n\n",fang1n,fang2n,fang3n,fang4n,fang5n,strongman_arm);system("color 89");
int pai,shu,i;
scanf("%d",&pai);system("color 89");
switch(pai)
{
case 1:
printf("请问您要出售几件?");system("color 89");
scanf("%d",&shu);
if(gong1n>=shu)
{
gong1n=gong1n-shu;
money=money+shu*240;
printf("匕首:%d\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("装备数不够,无法出售!\n");system("color 89");
break;
}
break;
case 2:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong2n>=shu)
{
gong2n=gong2n-shu;
money=money+shu*400;
printf("西洋剑:%d\n",gong2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 3:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong3n>=shu)
{
gong3n=gong3n-shu;
money=money+shu*800;
printf("碧血战锤:%d\n",gong3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 4:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong4n>=shu)
{
gong4n=gong4n-shu;
money=money+shu*1500;
printf("尚方宝剑:%d\n",gong4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 5:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong5n>=shu)
{
gong5n=gong5n-shu;
money=money+shu*3000;
printf("皮卡大剑:%d\n",gong5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 6:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang1n>=shu)
{
fang1n=fang1n-shu;
money=money+shu*240;
printf("布衣:%d\n",fang1n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 7:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang2n>=shu)
{
fang2n=fang2n-shu;
money=money+shu*500;
printf("铁甲:%d\n",fang2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 8:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang3n>=shu)
{
fang3n=fang3n-shu;
money=money+shu*800;
printf("重甲:%d\n",fang3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
break;
case 9:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang4n>=shu)
{
fang4n=fang4n-shu;
money=money+shu*1500;
printf("传说圣甲:%d\n",fang4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 10:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang5n>=shu)
{
fang5n=fang5n-shu;
money=money+shu*3000;
printf("万龙甲:%d\n",fang5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 11:
printf("请问您要出售几颗?");
scanf("%d",&shu);
if(strongman_arm>=shu)
{
strongman_arm=strongman_arm-shu;
money=money+shu*4000;
printf("巨龙晶石:%d\n",strongman_arm);
printf("金币:%d\n",money);
}
else
{
printf("晶石数不够,无法出售!\n");
break;
}
break;
case 0:
break;
break;
default:
printf("没有该装备,无法出售!\n");
break;
}break;
case 5:
int yewai;
while(1)
{
puts("=============================================================================");
printf("要去哪冒险呢?");
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★\n\n 5,炽热炎洞 危险程度:★★★★\n\n 6,皮卡超人游乐场 危险程度★★★★★\n\n 7,花朵宫殿 危险程度:★★★★★\n\n 8,五千龙穴 危险程度:★★★★★★\n\n 9,凋零宇宙 危险程度:★★★★★★★★\n\n0,离开\n");system("color 8c");
puts("=============================================================================");
scanf("%d",&yewai);
switch(yewai)
{
case 1:
place_sign=place.forest1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
//不用调用OAct函数,会自动执行OAct函数;
}
break;
case 3:
place_sign=place.forest2;
s=SuiJi();
if(s<7)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 5:
place_sign=place.forest3;
s=SuiJi();
if(s<7)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<10)
{
battle=1;
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 2:
place_sign=place.grass1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=bee;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 4:
place_sign=place.grass2;
s=SuiJi();
if(s<7)
{
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 6:
s=SuiJi();
if(s<7)
{
battle=1; 
guai=pika;
printf("你感到了强烈的电流涌入全身,%s走了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=dapika;
printf("天空一声巨响,三道闪电劈到%s的身上,%s手持雷霆之刃冲了过来!\n\n\n",guai.name,guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
}
break;
case 8:
s=SuiJi();
if(s<=3)
{
battle=1; 
guai=cl;
printf("一条长龙横卧洞内,你定睛一看,是%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=8 && s>=4)
{
battle=1; 
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else {
battle=1;
guai=jl;
printf("一条金光闪闪的长龙盘旋空中,你定睛一看,是传说中的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 7:
place_sign=place.grass3;
s=SuiJi();
if(s<7)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
if(strongman_arm>=1)
{
printf("神秘老人:\n\n\n 哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!巨龙晶石我要了,公主你也别想带走!\n\n\n");
guai=shitu;
printf("瞬间,你被一团黑雾笼罩,你被拉入了凋零幻境,%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else printf("神秘老人:\n\n\n 年轻人,你好啊.如果你有巨龙晶石,我可以告诉你公主的下落哦~\n\n\n");
}
else
{
printf("这里安全\n\n\n");
}
break;
case 9:
s=SuiJi();
if(diaolingxin!=0){
if(s==1)
{
battle=1; 
guai=dlfb;
printf("一个巨大的黑暗物体,周围环绕着大量的由破碎方块组成的黑色颗粒云环的%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else if(s<=2 && s<=4)
{
battle=1; 
guai=dlkl;
printf("手持凋零剑的黑色凶恶%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=5&&s>=7){
battle=1;
guai=gst;
printf("一个巨大的触手向你打来,你挡了下来%s扑了过来!\n\n\n",guai.name);
BattleAct();
} else{
battle=1;
guai=dljs;
printf("一只巨大的猛兽%s冲了过来!\n\n\n",guai.name);
BattleAct();
}
}if(diaolingxin==0){
cout<<"你没有凋零之心,需要击败凋零女巫或凋零巨兽" <<endl;
}
break;
if(yewai!=0)
{
printf("该区域为未知区域,无法进入。\n\n\n");system("color 89");
break;
}
}
if(yewai==0)
{
break;
printf("已离开荒野。");system("color 89");
}
}}
break;case 2:
ChooseWupin();
break; //显示道具,并可以使用.
case 3: //对话选项
if(place_sign==place.bar)
{
printf("要和谁说话?\n\n\n1,红发女郎 2,赏金猎人 3,酒吧老板 4,药品商人\n\n\n"); system("color 89");//显示对话人物
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
printf("红发女郎:\n\n\n 吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");system("color 89");
break;
case 2:
if(fang1n<1&&gong1n<1)
{
printf("赏金猎人:\n\n\n 你要救公主啊!好胆量!\n\n\n 不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");system("color 89");
printf("%s心想:哇,这位大叔人真好啊!\n\n\n)",player.name);
gong1n++;
fang1n++;
}
else printf("赏金猎人:\n\n\n 加油吧,年轻人!\n\n\n 不要被外面世界所吓倒!\n\n\n");system("color 89");
break;
case 3:
printf("要喝点什么?\n\n\n 1,二锅头25金币 HP+20 2,伏特加80金币 HP+50 3,人头马面150金币 HP+100 0,返回\n\n\n");system("color 89");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(money<25){
printf("钱不够!");system("color 89");
}
else
{
if(player.health+20<=player.max_health){
printf("HP+20.");system("color 89");
money-=25;
player.health+=20;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 2:
if(money<80){
printf("钱不够!");system("color 89");
}
else{
if(player.health+50<=player.max_health){
printf("HP+50.");system("color 89");
money-=80;
player.health+=50;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 3:
if(money<150){
printf("钱不够!");system("color 89");
}
else{
if(player.health+100<=player.max_health){
printf("HP+100.");system("color 89");
money-=150;
player.health+=100;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 0:
printf("下次再来!\n");system("color 89");
break;
default:
printf("输入错误\n\n\n");system("color 89");
break;
}
break;
}
break;
case 4:
printf("你要干什么?\n\n\n 1,买东西 2,聊天 \n\n\n");system("color 89");
int mai;
scanf("%d",&mai);
if(mai==1){
printf("买点什么呢?\n1,止血草¥100 HP+60\n2,急救包¥150 HP+80 \n3,云南白药¥250 HP+120\n4,超级云南白药¥400 HP+200 \n5,经验草¥150 经验+300 \n6,经验包¥600 经验+600\n7,经验石¥500 经验+1000 \n0,拜拜\n");system("color 89");
int dongxi;
scanf("%d",&dongxi);
switch(dongxi){
case 1:
if(money>=100&&cao<6){
cao++;
money=money-100;
printf ("止血草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 2:
if(money>=150&&jijiubao<10){
jijiubao++;
money=money-150;
printf ("急救包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 3:
if(money>=250&&baiyao<10){
baiyao++;
money=money-250;
printf ("云南白药+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 4:
if(money>=400&&superbaiyao<10){
superbaiyao++;
money=money-400;
printf ("超级云南白药+1\n");system("color 89");}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 5:
if(money>=150){
jingyancao++;
money=money-150;
printf ("经验草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 6:
if(money>=300){
jingyanbao++;
money=money-300;
printf ("经验包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 7:
if(money>=500){
jingyanshi++;
money=money-500;
printf ("经验石+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
}
case 0:
printf("金币:%d\n",money);system("color 89");
printf("再见,欢迎下次再来!\n");system("color 89");
break;}
if(mai==2){
printf("药品商人:去去去,老子没时间陪你聊。\n");system("color 89");
}
}
}
else if(place_sign==place.hotel)
printf("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
else printf("这里好像没人可以聊天\n\n\n");system("color 89");
break;
case 4:
DisplayState();
break; //显示状态
case 5: //装备
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,碧血战锤:%d个 4,尚方宝剑:%d个 5,雷霆之刃:%d个\n\n\n",gong1n,gong2n,gong3n,gong4n,gong5n);system("color 89");
printf("防御装备: 6,布衣:%d个 7,铁甲:%d个 8,重甲:%d个 9,传说圣甲:%d个 10万龙甲:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang3n,fang4n,fang5n);system("color 89");
printf("选择要装备的武器或防具:\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(gong1n>=1){
printf("拿起了匕首\n\n\n");system("color 89");
gong=gong1;
strcpy(gongname,"匕首");system("color 89");
}
else printf("你没有匕首可以装备\n\n\n");system("color 89");
break;
case 2:
if(gong2n>=1){
printf("拿起了西洋剑\n\n\n");system("color 89");
gong=gong2;
strcpy(gongname,"西洋剑");system("color 89");
}
else printf("你没有西洋剑可以装备\n\n\n");system("color 89");
break;
case 3:
if(gong3n>=1){
printf("拿起了碧血战锤\n\n\n");
gong=gong3;
strcpy(gongname,"碧血战锤");
}
else printf("你没有碧血战锤可以装备\n\n\n");
break;
case 4:
if(gong4n>=1){
printf("拿起了尚方宝剑\n\n\n");
gong=gong4;
strcpy(gongname,"尚方宝剑");
}
else printf("你没有尚方宝剑可以装备\n\n\n");
break;
case 5:
if(gong5n>=1){
printf("拿起了雷霆之刃\n\n\n");
gong=gong5;
strcpy(gongname,"雷霆之刃");
}
else printf("你没有雷霆之刃可以装备\n\n\n");
break;
case 6:
if(fang1n>=1){
printf("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else printf("你没有布衣可以装备\n\n\n");
break;
case 7:
if(fang2>=1){
printf("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else printf("你没有铁甲可以装备\n\n\n");
break;
case 8:
if(fang3n>=1){
printf("穿上了重甲\n\n\n");
fang=fang3;
strcpy(fangname,"重甲");
}
else printf("你没有重甲可以装备\n\n\n");
break;
case 9:
if(fang4n>=1){
printf("穿上了传说圣甲\n\n\n");
fang=fang4;
strcpy(fangname,"传说圣甲");
}
else printf("你没有传说圣甲可以装备\n\n\n");
break;
case 10:
if(fang5n>=1){
printf("穿上了万龙甲\n\n\n");
fang=fang5;
strcpy(fangname,"万龙甲");
}
else printf("你没有万龙甲可以装备\n\n\n");
break; 
case 0:
printf("未更换装备\n\n\n");
break;
default:
printf("change error!");
}
break;
case 6:
printf(" 您好,欢迎您玩苍穹世界。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty ”(不包括双引号)。我们在2.8版本内容的基础上进行修改,已修复该bug。并且新增了新副本、怪物、boss、道具等,希望大家喜欢。在这里要感谢吴昊同学,他给了我们许多宝贵的建议,谢谢。\n");system("color 89");
break;
case 0:
printf("确定退出游戏?(Y/N)\n\n\n");system("color 89");
getchar();
proof=getchar();
if(proof=='y'||proof=='Y'){
printf("数据存储中...");system("color 89");
//向文件中更新数据;
getchar();
printf("按回车退出");system("color 89");
getchar();
return;
}
else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
else printf("继续!\n\n\n");
break;
default:
printf("输入错误!\n\n\n");
break;
case 7:int mi;cout<<"=====*【后台管理 简称开挂 测试Bug】*=================================\n请输入管理者密码      想退出就在管理密码那输入211\n=====*【想要后台密码就问郑桐羽,只能输数字,别问为什么,否则死循环】*=========\n管理密码:";cin>>mi;if(mi%20120913==0){cout<<"输入正确!\n欢迎进入后台!\n后台服务:\n=======================\n1.金币加9999\n2.血量加9999\n3.现有血量加9999\n4.攻击加9999\n5.防御加9999\n211.退出\n=======================\n输入>>> "<<endl;cin>>htsr;if(htsr==1){cout<<"成功获得效果 *金币加9999\n";money+=9999;}if(htsr==2){cout<<"成功获得效果 *血量加9999\n";player.health+=9999;}if(htsr==3){cout<<"成功获得效果 *血量上限加9999\n";player.max_health+=9999;}if(htsr==4){cout<<"成功获得效果 *攻击加9999\n";player.attack+=9999;}if(htsr==5){cout<<"成功获得效果 *防御加9999\n";player.defense+=9999;}if(htsr%211==0){cout<<"成功退出\n";continue;}}else{cout<<"输入错误!请检查!"<<endl;continue;}break;
}
}
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
printf("等级:%d 经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
}
void BattleAct()
{
while(1)
{
puts("=============================================================================");
printf("要怎么办?\n\n\n 1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
s=SuiJi();
printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
guai.health-=player.attack+s+gong-guai.defense/3;
if(AttackResult())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
ChooseWupin();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:
DisplayState();
break; //显示状态
case 4:
s=SuiJi();
if(s<4) //40%的概率可以逃跑
{
printf("%s逃跑了~\n\n\n",player.name);
battle=0;
return;
}
else printf("%s逃跑失败!\n\n\n",player.name);
break;
default:
printf("输入错误,重新输入!\n\n\n");
}
}
}
void printf(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
Sleep(100);
}
} 

2.10.1

#include<stdio.h>
#include<iostream>
#include<ctime>
#include<bits/stdc++.h>
#include<time.h> //suiji
#include<windows.h> //SLEEP函数
using namespace std;
struct Player //玩家结构体,并初始化player
{
char name[21];
int attack;
int defense;
int health;
long int max_health;
int level;
int exp;
int range_exp;
long int max_exp;
} player= {"勇者",50,40,100,100,1,0,0,100};
struct Enemy //怪的结构体,并初始化各种怪
{
char name[20];
char wupin[20];
int attack;
int defense;
int health;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int miss;
} 
gl= {"格伦石人","石铠甲",30,150,1000,500,250,11,7,1,0},
zhizhu= {"洞穴蜘蛛","蜘蛛毒剑",140,20,250,400,200,12,5,1,0},
ymr= {"野蛮人","粗制石剑",20,20,150,100,50,13,5,1,0},
nz= {"牛仔","战斗马甲",100,20,350,500,250,14,10,1,0},
strongman= {"森林巨人","传说圣甲",40,50,350,200,100,1,5,1,0},
witch= {"兽人","重甲",25,15,100,50,50,2,4,1,1},
xiyi= {"森林蜥蜴","铁甲",18,10,50,30,35,3,8,2,2},
big_strongman= {"熔岩巨龙","巨龙晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},
lion= {"皇家士兵","尚方宝剑",60,30,280,200,100,5,5,1,0},
horse= {"独眼巨人","碧血战锤",28,12,90,50,50,6,5,1,1},
bee= {"草原剑客","西洋剑",17,11,60,30,35,7,5,2,2},
shitu= {"凋零女巫","凋零之心",2000,700,20000,10000,5000,10,10,1,0},
dljs= {"凋零巨兽","凋零之心",2000,700,20000,10000,5000,10,10,1,0},
pika= {"皮卡超人","\0",300,40*8,1000,2000,1000,0,0,1,0},
dapika= {"雷霆皮卡","雷霆之刃",350,40*10,1500,3000,2000,8,6,6,0},
cl= {"中华长龙","\0",450,50*10,2000,3500,2500,0,0,1,0},
jl= {"东方金龙","万龙甲",500,40*20,5000,10000,5000,9,6,6,1},
gst={"凋零共生体","\0",1800,65*10,15000,0,4500,0,0,1,0},
dlkl= {"凋零骷髅","\0",3000,30*10,12000,0,5000,0,0,1,0},
dlfb= {".+*凋零风暴*+.","\0",18000,200*10,98000,0,500000,0,0,1,0},
guai= {"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place
{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,te1,te2,te3,te4;
} place= {1,2,3,4,5,6,7,8,9,10,11,12};
int max_exp=0;
int htsr;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=10;
int cao=3,jijiubao=3,baiyao=3,superbaiyao=3,miansi=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0,fang5=200,fang5n=0,fang6=150,fang6n=0,fang7=60,fang7n=0;
int gong=0,gong1=10,gong1n=0,gong2=10,gong2n=0,gong3=45,gong3n=0,gong4=100,gong4n=0,gong5=500,gong5n=0,gong6=150,gong6n=0,gong7=35,gong7n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0,htmmcs=5;
int diaolingxin=0; 
char gongname[20]="无",fangname[20]="无";
char proof;void AddWupin(int);
int AttackResult();
void BattleAct();  //      ____
void ChooseWupin();  //   /___/|
void DisplayState();  //  |   |/
void OrdinaryAct();     //▔▔
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);int main()
{
MessageBox (NULL, "欢迎来到斗破苍穹 2.10.1 正式版 !", "斗破苍穹 2.10.1 游戏开始提示", MB_OK);
int i=0,j=0,k=0;
char player_name[21];
Sleep(1000);
printf("                            _________________________________                    ");system("color 89");
printf("                          /________________________________/|                    ");system("color 89");
printf("                _.+=*^--{|欢迎来到 [苍穹世界] 2.10.1 正式版|}--^*=+.              ");system("color 89");
printf("                         ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔                       \n");system("color 89");
//如果想使用外挂,名字请输入:“zty ”。
Sleep(1000);
printf("这里是苍穹世界! 契晋赫苟国的漓嘉茜公主被神秘老人绑架了!\n\n\n 伟大的勇者啊~拿起你的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");system("color 89");
scanf("%s",player_name);
strncpy(player.name,player_name,20);
if(strcmp(player.name,"zty")==0)
{
printf("\n\n\n封印多年的郑族血统啊!你终于觉醒了!\n\n\nzty,你成为了天选之人,请你救出公主吧!\n\n\n");
player.attack=99999;
player.defense=99999;
player.health=999999;
player.max_health=999999;
}
getchar();OrdinaryAct();
return 0;
}int SuiJi()
{
srand((unsigned)time(NULL));
return rand()%10;
}int SuiJi100()
{
srand((unsigned)time(NULL));
return rand()%100;
}void ChooseWupin() //选择物品 并使用
{
printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨龙晶石%d个 12,免死金牌%d个 13,凋零之心%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm,miansi,diaolingxin);system("color 8A");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(cao>0)
{
printf("使用止血草,HP增加120\n\n\n");system("color 8A");
cao--;
if(player.health+120>player.max_health)player.health=player.max_health;
else player.health+=120;
}
else printf("没有止血草了\n\n\n");system("color 8A");
break;
case 2:
if(jijiubao>0)
{
printf("使用急救包,HP增加180\n\n\n");system("color 8A");
jijiubao--;
if(player.health+180>player.max_health)player.health=player.max_health;
else player.health+=180;
}
else printf("没有急救包了\n\n\n");system("color 8A");
break;
case 3:
if(baiyao>0)
{
printf("使用云南白药,HP增加240\nz\n\n");system("color 8A");
baiyao--;
if(player.health+240>player.max_health)player.health=player.max_health;
else player.health+=240;
}
else printf("没有云南白药了\n\n\n");system("color 8A");
break;
case 4:
if(superbaiyao>0)
{
printf("使用超级云南白药,HP增加400\n\n\n");system("color 8A");
superbaiyao--;
if(player.health+400>player.max_health)player.health=player.max_health;
else player.health+=400;
}
else printf("没有超级云南白药了\n\n\n");system("color 8A");
break;
case 5:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(boom>0)
{
printf("使用手雷,敌人HP减少100\n\n\n");system("color 84");
boom--;
guai.health-=100;
AttackResult();
}
}
else printf("非战斗状态,不能使用手雷!\n\n\n");system("color 84");
break;
case 6:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(dubiao>0)
{
printf("使用毒标,敌人HP减少200\n\n\n");system("color 84");
dubiao--;
guai.health-=200;
AttackResult();
}
}
else printf("非战斗状态,不能使用毒标!\n\n\n");system("color 84");
break;
case 7:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(atom_boom>0)
{
printf("使用手抛式原子弹,敌人HP减少1500\n\n\n");system("color 84");
atom_boom--;
guai.health-=1500;
AttackResult();
}
}
else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");system("color 84");
break;
case 8:
if(jingyancao>0 && player.level<200)
{printf("使用经验草,等级增加3级\n\n\n");system("color 8E");
jingyancao--;
player.max_health=player.max_health+60; 
player.attack+=9;
player.defense+=6;
player.level+=3;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
else    if(jingyancao<1)
{
printf("没有经验草了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 9:
if(jingyanbao>0 && player.level<200)
{
if(player.level>197&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
jingyanbao--;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验包,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{printf("使用经验包,等级增加5级\n\n\n");system("color 8E");
jingyanbao--;
player.max_health=player.max_health+100; 
player.attack+=15;
player.defense+=10;
player.level+=5;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(jingyanbao<1)
{
printf("没有经验包了");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 10:
if(jingyanshi>0 && player.level<200)
{
if(player.level>192&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health+=sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验石,等级增加%d级\n",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用经验石,等级增加10级\n");system("color 8E");
jingyanshi--;
player.max_health=player.max_health+200; 
player.attack+=30;
player.defense+=20;
player.level+=10;
player.health=player.max_health;
}
}
else if(jingyanshi<1)
{
printf("没有经验石了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 11:
if(strongman_arm>0 && player.level<200)
{
if(player.level>182&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用巨龙晶石,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用巨龙晶石,等级增加20级\n\n\n");system("color 8E");
strongman_arm--;
player.max_health=player.max_health+400; 
player.attack+=60;
player.defense+=40;
player.health+=999999;
player.level+=20;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(strongman_arm<1)
{
printf("没有巨龙晶石了。\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 12:
if(miansi>0)
{
printf("使用免死金牌,HP满\n\n\n");system("color 8b");
miansi--;
if(player.health+999999>player.max_health)player.health=player.max_health;
else player.health+=999999;
}else printf("没有免死金牌了\n\n\n"); system("color 8b");break;
break;
case 13:
if(diaolingxin>0)
{
printf("使用凋零之心\nHP+100  攻击+100\n\n\n");system("color 8b");
diaolingxin--;
player.health+=100;
player.attack+=100; 
}else printf("没有凋零之心了\n\n\n"); system("color 8b");break;
case 0:
break;
default:
printf("ChooseWupin error!\n\n\n");
}
}
int AttackResult() //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
if(guai.health<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);system("color 8C");
player.exp+=guai.exp;
player.range_exp+=guai.exp;
money+=guai.money;
s=SuiJi();
if(s<guai.wupinpro)
{
printf("从敌人尸骸中发现");system("color 8C");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
}
WhetherLevelUp();
if(strcmp(guai.name,"*凋零巨兽*")==0)
{
printf("你把公主救了出来\n\n你从公主口中得知了一个更大的阴谋,你可以进入凋零世界\n\n");system("color 8C");}
return 1; //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
}
else
{
int s=SuiJi();if((guai.attack+s-player.defense/3)<0)
{
player.health-=1;
printf("%s反击,你的HP减少了 1\n\n",guai.name);system("color 8C");
}
else
{
player.health-=guai.attack+s-player.defense/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);system("color 8C");
}
if(player.health<0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);system("color CC");
money-=player.level*500;
player.health=player.max_health/5;
OrdinaryAct();//
return 1;
}
}
return 0;
}
void AddWupin(int wupin_sign)
{switch(wupin_sign)
{
case 1:
fang4n++;
break;
case 2:
fang3n++;
break;
case 3:
fang2n++;
break;
case 4:
strongman_arm++;
break;
case 5:
gong4n++;
break;
case 6:
gong3n++;
break;
case 7:
gong2n++;
break;
case 8:
gong5n++;
break;
case 9:
fang5n++;
break;
case 10:
diaolingxin++;
break;
case 11:
fang6n++;
break;
case 12:
gong6n++;
break;
case 13:
gong7n++;
break;
case 14:
fang7n++;
break;
default:
printf("AddWupin error\n\n\n");
}}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/200;
int l2=player.range_exp/500;
int l3=player.range_exp/1000;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);system("color 8E");
player.exp=(player.exp+guai.exp) || player.exp-((player.exp+guai.exp) || player.exp)%100;
player.attack+=3*l1;
player.defense+=2*l1;
player.max_health+=20*l1;
player.health=player.max_health;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l2;
player.defense+=2*l2;
player.max_health+=20*l2;
player.health=player.max_health;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l3;
player.defense+=2*l3;
player.max_health+=20*l3;
player.health=player.max_health;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
void OrdinaryAct() //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
{while(1)
{
// \(1000);
// system("cls");
puts("=============================================================================");system("color 89");
printf("要做什么?\n\n\n 1,移动 2,道具 3,对话 4,查看状态 5,装备 6,关于游戏 7,打开后台 0,退出游戏\n\n\n");system("color 89");
puts("=============================================================================");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1: //显示移动菜单
printf("要去哪里?\n\n\n");system("color 89");
printf("1,小郑子酒吧 2,诺亚方舟酒店 3,北朝商会 4,红玉拍卖行 5,冒险荒野\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:
place_sign=place.hotel; //进入旅店
printf("金币:%d",money);system("color 89");
printf("要开房吗? 200个金币 1,是 0,否\n\n\n");system("color 89");
choose_number=1;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(money-200<=0) //判断钱是否够
{
printf("Sorry,你的钱不够~\n\n\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
else
{
printf("好好休息\nHP满\n第二天了\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
money-=200; //花费200住店费
player.health=player.max_health; //体力满
}
break;
case 0:
printf("下次再来!\n\n\n");system("color 89");
break;
default:
printf("hotel talk error!\n\n\n");system("color 89");
}
place_sign=0;
break;
case 3:
int yongju,gong,fang;
printf("请问您要购买什么类型的物品?\n\n\n 1,攻击装备 2,防御装备 3,一次性伤害武器\n\n\n");system("color 89");
scanf("%d",&yongju);
switch(yongju)
{
case 1:
printf("请问您要购买什么武器?\n\n\n 1,匕首¥300 2,西洋剑¥500 3,碧血战锤¥1000\n\n\n");system("color 89");
scanf("%d",&gong);
switch(gong)
{
case 1:
if(money>=300)
{
gong1n++;
money=money-300;
printf ("匕首+1\n");system("color 89");
printf("匕首:%d个\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 2:
if(money>=500)
{
gong2n++;
money=money-500;
printf ("西洋剑+1\n");system("color 89");
printf("西洋剑:%d个\n",gong2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 3:
if(money>=1000)
{
gong3n++;
money=money-1000;
printf ("碧血战锤+1\n");system("color 89");
printf("碧血战锤:%d个\n",gong3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
default:
printf("对不起,我们只会打造以上武器。");system("color 89");
break;}
break;
case 2:
int fang;
printf("请问您要购买什么防具?\n\n\n 1,布衣¥300 2,铁甲¥500 3,重甲¥1000\n\n\n");system("color 89");
scanf("%d",&fang);
switch(fang)
{
case 1:
if(money>=300)
{
fang1n++;
money=money-300;
printf ("布衣+1\n");system("color 89");
printf("布衣:%d个\n",fang1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
case 2:
if(money>=500)
{
fang2n++;
money=money-500;
printf ("铁甲+1\n");system("color 89");
printf("铁甲:%d个\n",fang2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 3:
if(money>=1000)
{
fang3n++;
money=money-1000;
printf ("重甲+1\n");system("color 89");
printf("重甲:%d个\n",fang3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
default:
printf("对不起,我们只会打造以上防具。");system("color 89");
break;}
printf("金币:%d\n",money);system("color 89");
break;
case 3:
printf("请问您要购买什么一次性伤害武器?\n 1,手雷 2,毒镖 3,手抛式原子弹\n\n\n");system("color 89");
int yi;
scanf("%d",&yi);
switch(yi)
{
case 1:
if(money>=300 && boom<5)
{
boom++;
money=money-300;
printf("手雷+1\n");system("color 89");
printf("手雷:%d\n",boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 2:
if(money>=600 && dubiao<9999999)
{
dubiao++;
money=money-600;
printf("毒镖+1\n");system("color 89");
printf("毒镖:%d\n",dubiao);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
break;
case 3:
if(money>=1000 && atom_boom<5)
{
atom_boom=atom_boom+1;
money=money-1000;
printf("手抛式原子弹+1\n");system("color 89");
printf("手抛式原子弹:%d\n",atom_boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
}
}
break;
case 4:
printf ("欢迎您光临本拍卖行,请问您要卖什么东西?\n\n");system("color 89");
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑%n 4,碧血战锤:%d个 5,蜘蛛毒剑:%n个 6,尚方宝剑:%d个 7,皮卡大剑:%d个\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个 15,巨龙晶石:%d个\n 0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n,strongman_arm);system("color 89");
int pai,shu,i;
scanf("%d",&pai);system("color 89");
switch(pai)
{
case 1:
printf("请问您要出售几件?");system("color 89");
scanf("%d",&shu);
if(gong1n>=shu)
{
gong1n=gong1n-shu;
money=money+shu*240;
printf("匕首:%d\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("装备数不够,无法出售!\n");system("color 89");
break;
}
break;
case 2:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong2n>=shu)
{
gong2n=gong2n-shu;
money=money+shu*400;
printf("西洋剑:%d\n",gong2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 3:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong7n>=shu)
{
gong7n=gong7n-shu;
money=money+shu*800;
printf("粗制石剑:%d\n",gong7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 4:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong3n>=shu)
{
gong3n=gong3n-shu;
money=money+shu*800;
printf("碧血战锤:%d\n",gong3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 5:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong6n>=shu)
{
gong6n=gong6n-shu;
money=money+shu*1000;
printf("蜘蛛毒剑:%d\n",gong6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 6:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong4n>=shu)
{
gong4n=gong4n-shu;
money=money+shu*1500;
printf("尚方宝剑:%d\n",gong4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 7:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong5n>=shu)
{
gong5n=gong5n-shu;
money=money+shu*3000;
printf("皮卡大剑:%d\n",gong5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 8:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang1n>=shu)
{
fang1n=fang1n-shu;
money=money+shu*240;
printf("布衣:%d\n",fang1n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 9:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang2n>=shu)
{
fang2n=fang2n-shu;
money=money+shu*500;
printf("铁甲:%d\n",fang2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 10:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang7n>=shu)
{
fang7n=fang7n-shu;
money=money+shu*1000;
printf("战斗马甲:%d\n",fang7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 11:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang3n>=shu)
{
fang3n=fang3n-shu;
money=money+shu*800;
printf("重甲:%d\n",fang3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
break;
case 12:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang6n>=shu)
{
fang6n=fang6n-shu;
money=money+shu*2000;
printf("石凯甲:%d\n",fang6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 13:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang4n>=shu)
{
fang4n=fang4n-shu;
money=money+shu*1500;
printf("传说圣甲:%d\n",fang4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}case 14:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang5n>=shu)
{
fang5n=fang5n-shu;
money=money+shu*3000;
printf("万龙甲:%d\n",fang5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 15:
printf("请问您要出售几颗?");
scanf("%d",&shu);
if(strongman_arm>=shu)
{
strongman_arm=strongman_arm-shu;
money=money+shu*4000;
printf("巨龙晶石:%d\n",strongman_arm);
printf("金币:%d\n",money);
}
else
{
printf("晶石数不够,无法出售!\n");
break;
}
break;
case 0:
break;
break;
default:
printf("没有该装备,无法出售!\n");
break;
}break;
case 5:
int yewai;
while(1)
{
puts("=============================================================================");
printf("要去哪冒险呢?");
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★★★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★★\n\n 5,炽热炎洞 危险程度:★★★★★\n\n 6,皮卡超人游乐场 危险程度★★★★★★★\n\n 7,花朵宫殿 危险程度:★★★★★★\n\n 8,五千龙穴 危险程度:★★★★★★★\n\n 9,凋零宇宙 危险程度:★★★★★★★★\n\n0,离开\n");system("color 8c");
puts("=============================================================================");
scanf("%d",&yewai);
switch(yewai)
{
case 1:
place_sign=place.forest1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
//不用调用OAct函数,会自动执行OAct函数;
}
break;
case 3:
place_sign=place.forest2;
s=SuiJi();
if(s<4)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
battle=1;
guai=zhizhu;
printf("可怕的%s爬了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 5:
place_sign=place.forest3;
s=SuiJi();
if(s<=3){
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
} else if(s<8){
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=zhizhu;
printf("可怕的%s扑爬了过来!\n\n\n",guai.name);
BattleAct();
} 
break;
case 2:
place_sign=place.grass1;
s=SuiJi();
if(s<=3){
battle=1;
guai=bee;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else if(s<8){
battle=1;
guai=ymr;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 4:
place_sign=place.grass2;
s=SuiJi();
if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7){
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();}
else{
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 6:
s=SuiJi();
if(s<7){
battle=1; 
guai=pika;
printf("你感到了强烈的电流涌入全身,%s走了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9){
battle=1;
guai=dapika;
printf("天空一声巨响,三道闪电劈到%s的身上,%s手持雷霆之刃冲了过来!\n\n\n",guai.name,guai.name);
BattleAct();
}
else{
printf("这里安全\n\n\n");
}
break;
case 8:
s=SuiJi();
if(s<=3)
{
battle=1; 
guai=cl;
printf("一条长龙横卧洞内,你定睛一看,是%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=8 && s>=4)
{
battle=1; 
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else {
battle=1;
guai=jl;
printf("一条金光闪闪的长龙盘旋空中,你定睛一看,是传说中的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 7:
place_sign=place.grass3;
s=SuiJi();
if(s<5)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
if(strongman_arm>=1)
{
printf("神秘老人:\n\n\n 哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!巨龙晶石我要了,公主你也别想带走!\n\n\n");
guai=shitu;
printf("瞬间,你被一团黑雾笼罩,你被拉入了凋零幻境,%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else printf("神秘老人:\n\n\n 年轻人,你好啊.如果你有巨龙晶石,我可以告诉你公主的下落哦~\n\n\n");
}
else
{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 9:
s=SuiJi();
if(diaolingxin!=0){
if(s==1)
{
battle=1; 
guai=dlfb;
printf("一个巨大的黑暗物体,周围环绕着大量的由破碎方块组成的黑色颗粒云环的%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else if(s<=2 && s<=4)
{
battle=1; 
guai=dlkl;
printf("手持凋零剑的黑色凶恶%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=5&&s>=7){
battle=1;
guai=gst;
printf("一个巨大的触手向你打来,你挡了下来%s扑了过来!\n\n\n",guai.name);
BattleAct();
} else{
battle=1;
guai=dljs;
printf("一只巨大的猛兽%s冲了过来!\n\n\n",guai.name);
BattleAct();
}
}if(diaolingxin==0){
cout<<"你没有凋零之心,需要击败凋零巨兽" <<endl;
}
break;
if(yewai!=0)
{
printf("该区域为未知区域,无法进入。\n\n\n");system("color 89");
break;
}
}
if(yewai==0)
{
break;
printf("已离开荒野。");system("color 89");
}
}}
break;case 2:
ChooseWupin();
break; //显示道具,并可以使用.
case 3: //对话选项
if(place_sign==place.bar)
{
printf("要和谁说话?\n\n\n1,红发女郎 2,赏金猎人 3,酒吧老板 4,药品商人\n\n\n"); system("color 89");//显示对话人物
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
printf("红发女郎:\n\n\n 吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");system("color 89");
break;
case 2:
if(fang1n<1&&gong1n<1)
{
printf("赏金猎人:\n\n\n 你要救公主啊!好胆量!\n\n\n 不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");system("color 89");
printf("%s心想:哇,这位大叔人真好啊!\n\n\n)",player.name);
gong1n++;
fang1n++;
}
else printf("赏金猎人:\n\n\n 加油吧,年轻人!\n\n\n 不要被外面世界所吓倒!\n\n\n");system("color 89");
break;
case 3:
printf("要喝点什么?\n\n\n 1,二锅头25金币 HP+20 2,伏特加80金币 HP+50 3,人头马面150金币 HP+100 0,返回\n\n\n");system("color 89");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(money<25){
printf("钱不够!");system("color 89");
}
else
{
if(player.health+20<=player.max_health){
printf("HP+20.");system("color 89");
money-=25;
player.health+=20;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 2:
if(money<80){
printf("钱不够!");system("color 89");
}
else{
if(player.health+50<=player.max_health){
printf("HP+50.");system("color 89");
money-=80;
player.health+=50;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 3:
if(money<150){
printf("钱不够!");system("color 89");
}
else{
if(player.health+100<=player.max_health){
printf("HP+100.");system("color 89");
money-=150;
player.health+=100;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 0:
printf("下次再来!\n");system("color 89");
break;
default:
printf("输入错误\n\n\n");system("color 89");
break;
}
break;
}
break;
case 4:
printf("你要干什么?\n\n\n 1,买东西 2,聊天 \n\n\n");system("color 89");
int mai;
scanf("%d",&mai);
if(mai==1){
printf("买点什么呢?\n1,止血草¥100 HP+60\n2,急救包¥150 HP+80 \n3,云南白药¥250 HP+120\n4,超级云南白药¥400 HP+200 \n5,经验草¥150 经验+300 \n6,经验包¥600 经验+600\n7,经验石¥500 经验+1000 \n0,拜拜\n");system("color 89");
int dongxi;
scanf("%d",&dongxi);
switch(dongxi){
case 1:
if(money>=100&&cao<6){
cao++;
money=money-100;
printf ("止血草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 2:
if(money>=150&&jijiubao<10){
jijiubao++;
money=money-150;
printf ("急救包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 3:
if(money>=250&&baiyao<10){
baiyao++;
money=money-250;
printf ("云南白药+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 4:
if(money>=400&&superbaiyao<10){
superbaiyao++;
money=money-400;
printf ("超级云南白药+1\n");system("color 89");}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 5:
if(money>=150){
jingyancao++;
money=money-150;
printf ("经验草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 6:
if(money>=300){
jingyanbao++;
money=money-300;
printf ("经验包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 7:
if(money>=500){
jingyanshi++;
money=money-500;
printf ("经验石+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
}
case 0:
printf("金币:%d\n",money);system("color 89");
printf("再见,欢迎下次再来!\n");system("color 89");
break;}
if(mai==2){
printf("药品商人:去去去,老子没时间陪你聊。\n");system("color 89");
}
}
}
else if(place_sign==place.hotel)
printf("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
else printf("这里好像没人可以聊天\n\n\n");system("color 89");
break;
case 4:
DisplayState();
break; //显示状态
case 5: //装备
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%d个 4,碧血战锤:%d个 5,蜘蛛毒剑:%d个 6,尚方宝剑:%d个 7,雷霆之刃:%d个\n\n\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n);system("color 89");
printf("选择要装备的武器或防具:\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(gong1n>=1){
printf("拿起了匕首\n\n\n");system("color 89");
gong=gong1;
strcpy(gongname,"匕首");system("color 89");
}
else printf("你没有匕首可以装备\n\n\n");system("color 89");
break;
case 2:
if(gong2n>=1){
printf("拿起了西洋剑\n\n\n");system("color 89");
gong=gong2;
strcpy(gongname,"西洋剑");system("color 89");
}
else printf("你没有西洋剑可以装备\n\n\n");system("color 89");
break;
case 3:
if(gong7n>=1){
printf("拿起了粗制石剑\n\n\n");
gong=gong7;
strcpy(gongname,"粗制石剑");
}
else printf("你没有粗制石剑可以装备\n\n\n");
break;
case 4:
if(gong3n>=1){
printf("拿起了碧血战锤\n\n\n");
gong=gong3;
strcpy(gongname,"碧血战锤");
}
else printf("你没有碧血战锤可以装备\n\n\n");
break;
case 5:
if(gong6n>=1){
printf("拿起了蜘蛛毒剑\n\n\n");
gong=gong6;
strcpy(gongname,"蜘蛛毒剑");
}
else printf("你没有蜘蛛毒剑可以装备\n\n\n");
break;
case 6:
if(gong4n>=1){
printf("拿起了尚方宝剑\n\n\n");
gong=gong4;
strcpy(gongname,"尚方宝剑");
}
else printf("你没有尚方宝剑可以装备\n\n\n");
break;
case 7:
if(gong5n>=1){
printf("拿起了雷霆之刃\n\n\n");
gong=gong5;
strcpy(gongname,"雷霆之刃");
}
else printf("你没有雷霆之刃可以装备\n\n\n");
break;
case 8:
if(fang1n>=1){
printf("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else printf("你没有布衣可以装备\n\n\n");
break;
case 9:
if(fang2n>=1){
printf("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else printf("你没有铁甲可以装备\n\n\n");
break;
case 10:
if(fang7n>=1){
printf("穿上了战斗马甲\n\n\n");
fang=fang7;
strcpy(fangname,"战斗马甲");
}
else printf("你没有战斗马甲可以装备\n\n\n");
break;
case 11:
if(fang3n>=1){
printf("穿上了重甲\n\n\n");
fang=fang3;
strcpy(fangname,"重甲");
}
else printf("你没有重甲可以装备\n\n\n");
break;
case 12:
if(fang6n>=1){
printf("穿上了石铠甲\n\n\n");
fang=fang6;
strcpy(fangname,"石凯甲");
}
else printf("你没有石凯甲可以装备\n\n\n");
break;
case 13:
if(fang4n>=1){
printf("穿上了传说圣甲\n\n\n");
fang=fang4;
strcpy(fangname,"传说圣甲");
}
else printf("你没有传说圣甲可以装备\n\n\n");
break;
case 14:
if(fang5n>=1){
printf("穿上了万龙甲\n\n\n");
fang=fang5;
strcpy(fangname,"万龙甲");
}
else printf("你没有万龙甲可以装备\n\n\n");
break; 
case 0:
printf("未更换装备\n\n\n");
break;
default:
printf("change error!");
}
break;
case 6:
printf(" 您好,欢迎您玩苍穹世界(斗破苍穹)。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty ”(不包括双引号)。我们在2.9版本内容的基础上进行修改,新增了四个新怪物和武器装备,希望大家喜欢。在这里要感谢吴昊同学,他给了我们许多宝贵的建议,谢谢。\n");system("color 89");
break;
case 0:
printf("确定退出游戏?(Y/N)\n\n\n");system("color 89");
getchar();
proof=getchar();
if(proof=='y'||proof=='Y'){
printf("按回车退出");system("color 89");
getchar();
return;
}
else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
else printf("继续!\n\n\n");
break;
default:
printf("输入错误!\n\n\n");
break;
case 7:int mi;cout<<"=====*【后台管理 简称开挂 测试Bug】*=================================\n请输入管理者密码      想退出就在管理密码那输入211\n=====*【想要后台密码就问郑桐羽,只能输数字,否则死循环】*===============\n管理密码:";cin>>mi;if(mi%20120913==0){cout<<"输入正确!\n欢迎进入后台!\n后台服务:\n=======================\n1.金币加999999\n2.血量加9999\n3.现有血量加9999\n4.攻击加9999\n5.防御加9999\n211.退出\n=======================\n输入>>> "<<endl;cin>>htsr;if(htsr==1){cout<<"成功获得效果 *金币加9999\n";money+=999999;}if(htsr==2){cout<<"成功获得效果 *血量加9999\n";player.health+=9999;}if(htsr==3){cout<<"成功获得效果 *血量上限加9999\n";player.max_health+=9999;}if(htsr==4){cout<<"成功获得效果 *攻击加9999\n";player.attack+=9999;}if(htsr==5){cout<<"成功获得效果 *防御加9999\n";player.defense+=9999;}if(htsr%211==0){cout<<"成功退出\n";continue;}}else{cout<<"输入错误!请检查!"<<endl;continue;}break;
}
}
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
printf("等级:%d 经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
}
void BattleAct()
{
while(1)
{
puts("=============================================================================");
printf("要怎么办?\n\n\n 1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
s=SuiJi();
printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
guai.health-=player.attack+s+gong-guai.defense/3;
if(AttackResult())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
ChooseWupin();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:
DisplayState();
break; //显示状态
case 4:
s=SuiJi();
if(s<4) //40%的概率可以逃跑
{
printf("%s逃跑了~\n\n\n",player.name);
battle=0;
return;
}
else printf("%s逃跑失败!\n\n\n",player.name);
break;
default:
printf("输入错误,重新输入!\n\n\n");
}
}
}
void printf(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
Sleep(100);
}
} 

2.10.2

#include<stdio.h>
#include<iostream>
#include<ctime>
#include<bits/stdc++.h>
#include<time.h> //suiji
#include<windows.h> //SLEEP函数
using namespace std;
struct Player //玩家结构体,并初始化player
{
char name[21];
int attack;
int defense;
int health;
long int max_health;
int level;
int exp;
int range_exp;
long int max_exp;
} player= {"勇者",100,80,200,200,1,0,0,100};
struct Enemy //怪的结构体,并初始化各种怪
{
char name[20];
char wupin[20];
int attack;
int defense;
int health;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int miss;
} 
gl= {"格伦石人","石铠甲",30,150,1000,500,250,11,7,1,0},
zhizhu= {"洞穴蜘蛛","蜘蛛毒剑",140,20,250,400,200,12,5,1,0},
ymr= {"野蛮人","粗制石剑",20,20,150,100,50,13,5,1,0},
nz= {"牛仔","战斗马甲",80,20,250,500,250,14,10,1,0},
strongman= {"森林巨人","传说圣甲",50,50,580,200,100,1,5,1,0},
witch= {"兽人","重甲",35,55,250,50,50,2,4,1,1},
xiyi= {"森林蜥蜴","铁甲",20,25,80,30,35,3,8,2,2},
big_strongman= {"熔岩巨龙","巨龙晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},
lion= {"皇家士兵","尚方宝剑",100,30,380,200,100,5,5,1,0},
horse= {"独眼巨人","碧血战锤",50,22,360,50,50,6,5,1,1},
bee= {"草原剑客","西洋剑",27,11,60,30,35,7,5,2,2},
shitu= {"凋零女巫","凋零之心",1400,500,15000,10000,5000,10,10,1,0},
dljs= {"凋零巨兽","凋零之心",1200,700,20000,10000,5000,10,7,1,0},
pika= {"皮卡超人","\0",300,40*8,1000,2000,1000,0,0,1,0},
dapika= {"雷霆皮卡","雷霆之刃",350,40*10,1500,3000,2000,8,6,6,0},
cl= {"中华长龙","\0",450,50*10,2000,3500,2500,0,0,1,0},
jl= {"东方金龙","万龙甲",500,40*20,5000,8000,4500,9,6,6,1},
gst={"凋零共生体","\0",1800,65*10,15000,0,10000,0,0,1,0},
dlkl= {"凋零骷髅","\0",3000,30*10,12000,0,10000,0,0,1,0},
dlfb= {".+*凋零风暴*+.","\0",9000,1500,49000,0,500000,0,0,1,0},
guai= {"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place
{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,te1,te2,te3,te4;
} place= {1,2,3,4,5,6,7,8,9,10,11,12};
int max_exp=0;
int htsr;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=10;
int cao=3,jijiubao=3,baiyao=3,superbaiyao=3,miansi=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0,fang5=400,fang5n=0,fang6=150,fang6n=0,fang7=60,fang7n=0;
int gong=0,gong1=10,gong1n=0,gong2=20,gong2n=0,gong3=45,gong3n=0,gong4=100,gong4n=0,gong5=300,gong5n=0,gong6=150,gong6n=0,gong7=35,gong7n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0,htmmcs=5;
int diaolingxin=0; 
char gongname[20]="无",fangname[20]="无";
char proof;void AddWupin(int);
int AttackResult();
void BattleAct();  //      ____
void ChooseWupin();  //   /___/|
void DisplayState();  //  |   |/
void OrdinaryAct();     //▔▔
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);int main()
{
MessageBox (NULL, "欢迎来到斗破苍穹 2.10.2 正式版 !", "斗破苍穹 2.10.2 游戏开始提示", MB_OK);
int i=0,j=0,k=0;
char player_name[21];
Sleep(1000);
printf("                            _________________________________                    ");system("color 89");
printf("                          /________________________________/|                    ");system("color 89");
printf("                _.+=*^--{|欢迎来到 [斗破苍穹] 2.10.2 正式版|}--^*=+.              ");system("color 89");
printf("                         ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔                       \n");system("color 89");
//如果想使用外挂,名字请输入:“zty ”。
Sleep(1000);
printf("这里是斗破苍穹(苍穹世界)! 契晋赫苟国的漓嘉茜公主被神秘人绑架了!\n\n\n 伟大的勇者啊~拿起你的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");system("color 89");
scanf("%s",player_name);
strncpy(player.name,player_name,20);
if(strcmp(player.name,"zty")==0)
{
printf("\n\n\n封印多年的zty族血统啊!你终于觉醒了!\n\n\nzty,你成为了天选之人,请你救出公主吧!\n\n\n");
player.attack=99999;
player.defense=99999;
player.health=999999;
player.max_health=999999;
}
getchar();OrdinaryAct();
return 0;
}int SuiJi()
{
srand((unsigned)time(NULL));
return rand()%10;
}int SuiJi100()
{
srand((unsigned)time(NULL));
return rand()%100;
}void ChooseWupin() //选择物品 并使用
{
printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨龙晶石%d个 12,免死金牌%d个 13,凋零之心%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm,miansi,diaolingxin);system("color 8A");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(cao>0)
{
printf("使用止血草,HP增加120\n\n\n");system("color 8A");
cao--;
if(player.health+120>player.max_health)player.health=player.max_health;
else player.health+=120;
}
else printf("没有止血草了\n\n\n");system("color 8A");
break;
case 2:
if(jijiubao>0)
{
printf("使用急救包,HP增加180\n\n\n");system("color 8A");
jijiubao--;
if(player.health+180>player.max_health)player.health=player.max_health;
else player.health+=180;
}
else printf("没有急救包了\n\n\n");system("color 8A");
break;
case 3:
if(baiyao>0)
{
printf("使用云南白药,HP增加240\nz\n\n");system("color 8A");
baiyao--;
if(player.health+240>player.max_health)player.health=player.max_health;
else player.health+=240;
}
else printf("没有云南白药了\n\n\n");system("color 8A");
break;
case 4:
if(superbaiyao>0)
{
printf("使用超级云南白药,HP增加400\n\n\n");system("color 8A");
superbaiyao--;
if(player.health+400>player.max_health)player.health=player.max_health;
else player.health+=400;
}
else printf("没有超级云南白药了\n\n\n");system("color 8A");
break;
case 5:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(boom>0)
{
printf("使用手雷,敌人HP减少100\n\n\n");system("color 84");
boom--;
guai.health-=100;
AttackResult();
}
}
else printf("非战斗状态,不能使用手雷!\n\n\n");system("color 84");
break;
case 6:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(dubiao>0)
{
printf("使用毒标,敌人HP减少200\n\n\n");system("color 84");
dubiao--;
guai.health-=200;
AttackResult();
}
}
else printf("非战斗状态,不能使用毒标!\n\n\n");system("color 84");
break;
case 7:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(atom_boom>0)
{
printf("使用手抛式原子弹,敌人HP减少1500\n\n\n");system("color 84");
atom_boom--;
guai.health-=1500;
AttackResult();
}
}
else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");system("color 84");
break;
case 8:
if(jingyancao>0 && player.level<200)
{printf("使用经验草,等级增加3级\n\n\n");system("color 8E");
jingyancao--;
player.max_health=player.max_health+60; 
player.attack+=9;
player.defense+=6;
player.level+=3;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
else    if(jingyancao<1)
{
printf("没有经验草了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 9:
if(jingyanbao>0 && player.level<200)
{
if(player.level>197&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
jingyanbao--;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验包,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{printf("使用经验包,等级增加5级\n\n\n");system("color 8E");
jingyanbao--;
player.max_health=player.max_health+100; 
player.attack+=15;
player.defense+=10;
player.level+=5;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(jingyanbao<1)
{
printf("没有经验包了");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 10:
if(jingyanshi>0 && player.level<200)
{
if(player.level>192&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health+=sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验石,等级增加%d级\n",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用经验石,等级增加10级\n");system("color 8E");
jingyanshi--;
player.max_health=player.max_health+200; 
player.attack+=30;
player.defense+=20;
player.level+=10;
player.health=player.max_health;
}
}
else if(jingyanshi<1)
{
printf("没有经验石了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 11:
if(strongman_arm>0 && player.level<200)
{
if(player.level>182&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用巨龙晶石,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用巨龙晶石,等级增加20级\n\n\n");system("color 8E");
strongman_arm--;
player.max_health=player.max_health+400; 
player.attack+=60;
player.defense+=40;
player.health+=999999;
player.level+=20;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(strongman_arm<1)
{
printf("没有巨龙晶石了。\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 12:
if(miansi>0)
{
printf("使用免死金牌,HP满\n\n\n");system("color 8b");
miansi--;
if(player.health+999999>player.max_health)player.health=player.max_health;
else player.health+=999999;
}else printf("没有免死金牌了\n\n\n"); system("color 8b");break;
break;
case 13:
if(diaolingxin>0)
{
printf("使用凋零之心\nHP+100  攻击+100\n\n\n");system("color 8b");
diaolingxin--;
player.health+=100;
player.attack+=100; 
}else printf("没有凋零之心了\n\n\n"); system("color 8b");break;
case 0:
break;
default:
printf("ChooseWupin error!\n\n\n");
}
}
int AttackResult() //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
if(guai.health<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);system("color 8C");
player.exp+=guai.exp;
player.range_exp+=guai.exp;
money+=guai.money;
s=SuiJi();
if(s<guai.wupinpro)
{
printf("从敌人尸骸中发现");system("color 8C");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
}
WhetherLevelUp();
if(strcmp(guai.name,"*凋零巨兽*")==0)
{
printf("你把公主救了出来\n\n你从公主口中得知了一个更大的阴谋,你可以进入凋零世界\n\n");system("color 8C");}
return 1; //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
}
else
{
int s=SuiJi();if((guai.attack+s-player.defense/3)<0)
{
player.health-=1;
printf("%s反击,你的HP减少了 1\n\n",guai.name);system("color 8C");
}
else
{
player.health-=guai.attack+s-player.defense/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);system("color 8C");
}
if(player.health<0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);system("color CC");
money-=player.level*500;
player.health=player.max_health/5;
OrdinaryAct();//
return 1;
}
}
return 0;
}
void AddWupin(int wupin_sign)
{switch(wupin_sign)
{
case 1:
fang4n++;
break;
case 2:
fang3n++;
break;
case 3:
fang2n++;
break;
case 4:
strongman_arm++;
break;
case 5:
gong4n++;
break;
case 6:
gong3n++;
break;
case 7:
gong2n++;
break;
case 8:
gong5n++;
break;
case 9:
fang5n++;
break;
case 10:
diaolingxin++;
break;
case 11:
fang6n++;
break;
case 12:
gong6n++;
break;
case 13:
gong7n++;
break;
case 14:
fang7n++;
break;
default:
printf("AddWupin error\n\n\n");
}}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/150;
int l2=player.range_exp/375;
int l3=player.range_exp/750;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);system("color 8E");
player.exp=(player.exp+guai.exp) || player.exp-((player.exp+guai.exp) || player.exp)%100;
player.attack+=3*l1;
player.defense+=2*l1;
player.max_health+=20*l1;
player.health=player.max_health;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l2;
player.defense+=2*l2;
player.max_health+=20*l2;
player.health=player.max_health;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l3;
player.defense+=2*l3;
player.max_health+=20*l3;
player.health=player.max_health;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
void OrdinaryAct() //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
{while(1)
{
// \(1000);
// system("cls");
puts("=============================================================================");system("color 89");
printf("要做什么?\n\n\n 1,移动 2,道具 3,对话 4,查看状态 5,装备 6,关于游戏 7,打开后台 0,退出游戏\n\n\n");system("color 89");
puts("=============================================================================");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1: //显示移动菜单
printf("要去哪里?\n\n\n");system("color 89");
printf("1,小郑子酒吧 2,诺亚方舟酒店 3,北朝商会 4,红玉拍卖行 5,冒险荒野\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:
place_sign=place.hotel; //进入旅店
printf("金币:%d",money);system("color 89");
printf("要开房吗? 200个金币 1,是 0,否\n\n\n");system("color 89");
choose_number=1;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(money-200<=0) //判断钱是否够
{
printf("Sorry,你的钱不够~\n\n\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
else
{
printf("好好休息\nHP满\n第二天了\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
money-=200; //花费200住店费
player.health=player.max_health; //体力满
}
break;
case 0:
printf("下次再来!\n\n\n");system("color 89");
break;
default:
printf("hotel talk error!\n\n\n");system("color 89");
}
place_sign=0;
break;
case 3:
int yongju,gong,fang;
printf("请问您要购买什么类型的物品?\n\n\n 1,攻击装备 2,防御装备 3,一次性伤害武器\n\n\n");system("color 89");
scanf("%d",&yongju);
switch(yongju)
{
case 1:
printf("请问您要购买什么武器?\n\n\n 1,匕首¥300 2,西洋剑¥500 3,碧血战锤¥1000\n\n\n");system("color 89");
scanf("%d",&gong);
switch(gong)
{
case 1:
if(money>=300)
{
gong1n++;
money=money-300;
printf ("匕首+1\n");system("color 89");
printf("匕首:%d个\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 2:
if(money>=500)
{
gong2n++;
money=money-500;
printf ("西洋剑+1\n");system("color 89");
printf("西洋剑:%d个\n",gong2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 3:
if(money>=1000)
{
gong3n++;
money=money-1000;
printf ("碧血战锤+1\n");system("color 89");
printf("碧血战锤:%d个\n",gong3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
default:
printf("对不起,我们只会打造以上武器。");system("color 89");
break;}
break;
case 2:
int fang;
printf("请问您要购买什么防具?\n\n\n 1,布衣¥300 2,铁甲¥500 3,重甲¥1000\n\n\n");system("color 89");
scanf("%d",&fang);
switch(fang)
{
case 1:
if(money>=300)
{
fang1n++;
money=money-300;
printf ("布衣+1\n");system("color 89");
printf("布衣:%d个\n",fang1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
case 2:
if(money>=500)
{
fang2n++;
money=money-500;
printf ("铁甲+1\n");system("color 89");
printf("铁甲:%d个\n",fang2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 3:
if(money>=1000)
{
fang3n++;
money=money-1000;
printf ("重甲+1\n");system("color 89");
printf("重甲:%d个\n",fang3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
default:
printf("对不起,我们只会打造以上防具。");system("color 89");
break;}
printf("金币:%d\n",money);system("color 89");
break;
case 3:
printf("请问您要购买什么一次性伤害武器?\n 1,手雷 2,毒镖 3,手抛式原子弹\n\n\n");system("color 89");
int yi;
scanf("%d",&yi);
switch(yi)
{
case 1:
if(money>=300 && boom<5)
{
boom++;
money=money-300;
printf("手雷+1\n");system("color 89");
printf("手雷:%d\n",boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 2:
if(money>=600 && dubiao<9999999)
{
dubiao++;
money=money-600;
printf("毒镖+1\n");system("color 89");
printf("毒镖:%d\n",dubiao);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
break;
case 3:
if(money>=1000 && atom_boom<5)
{
atom_boom=atom_boom+1;
money=money-1000;
printf("手抛式原子弹+1\n");system("color 89");
printf("手抛式原子弹:%d\n",atom_boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
}
}
break;
case 4:
printf ("欢迎您光临本拍卖行,请问您要卖什么东西?\n\n");system("color 89");
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%n 4,碧血战锤:%d个 5,蜘蛛毒剑:%n个 6,尚方宝剑:%d个 7,皮卡大剑:%d个\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个 15,巨龙晶石:%d个\n 0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n,strongman_arm);system("color 89");
int pai,shu,i;
scanf("%d",&pai);system("color 89");
switch(pai)
{
case 1:
printf("请问您要出售几件?");system("color 89");
scanf("%d",&shu);
if(gong1n>=shu)
{
gong1n=gong1n-shu;
money=money+shu*240;
printf("匕首:%d\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("装备数不够,无法出售!\n");system("color 89");
break;
}
break;
case 2:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong2n>=shu)
{
gong2n=gong2n-shu;
money=money+shu*400;
printf("西洋剑:%d\n",gong2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 3:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong7n>=shu)
{
gong7n=gong7n-shu;
money=money+shu*800;
printf("粗制石剑:%d\n",gong7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 4:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong3n>=shu)
{
gong3n=gong3n-shu;
money=money+shu*800;
printf("碧血战锤:%d\n",gong3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 5:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong6n>=shu)
{
gong6n=gong6n-shu;
money=money+shu*1000;
printf("蜘蛛毒剑:%d\n",gong6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 6:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong4n>=shu)
{
gong4n=gong4n-shu;
money=money+shu*1500;
printf("尚方宝剑:%d\n",gong4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 7:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong5n>=shu)
{
gong5n=gong5n-shu;
money=money+shu*3000;
printf("皮卡大剑:%d\n",gong5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 8:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang1n>=shu)
{
fang1n=fang1n-shu;
money=money+shu*240;
printf("布衣:%d\n",fang1n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 9:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang2n>=shu)
{
fang2n=fang2n-shu;
money=money+shu*500;
printf("铁甲:%d\n",fang2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 10:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang7n>=shu)
{
fang7n=fang7n-shu;
money=money+shu*1000;
printf("战斗马甲:%d\n",fang7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 11:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang3n>=shu)
{
fang3n=fang3n-shu;
money=money+shu*800;
printf("重甲:%d\n",fang3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
break;
case 12:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang6n>=shu)
{
fang6n=fang6n-shu;
money=money+shu*2000;
printf("石凯甲:%d\n",fang6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 13:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang4n>=shu)
{
fang4n=fang4n-shu;
money=money+shu*1500;
printf("传说圣甲:%d\n",fang4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}case 14:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang5n>=shu)
{
fang5n=fang5n-shu;
money=money+shu*3000;
printf("万龙甲:%d\n",fang5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 15:
printf("请问您要出售几颗?");
scanf("%d",&shu);
if(strongman_arm>=shu)
{
strongman_arm=strongman_arm-shu;
money=money+shu*4000;
printf("巨龙晶石:%d\n",strongman_arm);
printf("金币:%d\n",money);
}
else
{
printf("晶石数不够,无法出售!\n");
break;
}
break;
case 0:
break;
break;
default:
printf("没有该装备,无法出售!\n");
break;
}break;
case 5:
int yewai;
while(1)
{
puts("=============================================================================");
printf("要去哪冒险呢?");
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★★★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★★\n\n 5,炽热炎洞 危险程度:★★★★★\n\n 6,皮卡营地 危险程度★★★★★★\n\n 7,花朵宫殿 危险程度:★★★★★★\n\n 8,五千龙穴 危险程度:★★★★★★★\n\n 9,凋零宇宙 危险程度:★★★★★★★★\n\n0,离开\n");system("color 8c");
puts("=============================================================================");
scanf("%d",&yewai);
switch(yewai)
{
case 1:
place_sign=place.forest1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
//不用调用OAct函数,会自动执行OAct函数;
}
break;
case 3:
place_sign=place.forest2;
s=SuiJi();
if(s<4)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
battle=1;
guai=zhizhu;
printf("可怕的%s爬了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 5:
place_sign=place.forest3;
s=SuiJi();
if(s<=3){
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
} else if(s<8){
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=zhizhu;
printf("可怕的%s扑爬了过来!\n\n\n",guai.name);
BattleAct();
} 
break;
case 2:
place_sign=place.grass1;
s=SuiJi();
if(s<=3){
battle=1;
guai=bee;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else if(s<8){
battle=1;
guai=ymr;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 4:
place_sign=place.grass2;
s=SuiJi();
if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7){
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();}
else{
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 6:
s=SuiJi();
if(s<7){
battle=1; 
guai=pika;
printf("你感到了强烈的电流涌入全身,%s走了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9){
battle=1;
guai=dapika;
printf("天空一声巨响,三道闪电劈到%s的身上,%s手持雷霆之刃冲了过来!\n\n\n",guai.name,guai.name);
BattleAct();
}
else{
printf("这里安全\n\n\n");
}
break;
case 8:
s=SuiJi();
if(s<=3)
{
battle=1; 
guai=cl;
printf("一条长龙横卧洞内,你定睛一看,是%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=8 && s>=4)
{
battle=1; 
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else {
battle=1;
guai=jl;
printf("一条金光闪闪的长龙盘旋空中,你定睛一看,是传说中的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 7:
place_sign=place.grass3;
s=SuiJi();
if(s<5)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
if(strongman_arm>=1)
{
printf("神秘老人:\n\n\n 哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!巨龙晶石我要了,公主你也别想带走!\n\n\n");
guai=shitu;
printf("瞬间,你被一团黑雾笼罩,你被拉入了凋零幻境,%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else printf("神秘老人:\n\n\n 年轻人,你好啊.如果你有巨龙晶石,我可以告诉你公主的下落哦~\n\n\n");
}
else
{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 9:
s=SuiJi();
if(diaolingxin!=0){
if(s==1)
{
battle=1; 
guai=dlfb;
printf("一个巨大的黑暗物体,周围环绕着大量的由破碎方块组成的黑色颗粒云环的%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else if(s<=2 && s<=4)
{
battle=1; 
guai=dlkl;
printf("手持凋零剑的黑色凶恶%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=5&&s>=7){
battle=1;
guai=gst;
printf("一个巨大的触手向你打来,你挡了下来%s扑了过来!\n\n\n",guai.name);
BattleAct();
} else{
battle=1;
guai=dljs;
printf("一只巨大的猛兽%s冲了过来!\n\n\n",guai.name);
BattleAct();
}
}if(diaolingxin==0){
cout<<"你没有凋零之心,需要击败凋零巨兽" <<endl;
}
break;
if(yewai!=0)
{
printf("该区域为未知区域,无法进入。\n\n\n");system("color 89");
break;
}
}
if(yewai==0)
{
break;
printf("已离开荒野。");system("color 89");
}
}}
break;case 2:
ChooseWupin();
break; //显示道具,并可以使用.
case 3: //对话选项
if(place_sign==place.bar)
{
printf("要和谁说话?\n\n\n1,红发女郎 2,赏金猎人 3,酒吧老板 4,药品商人\n\n\n"); system("color 89");//显示对话人物
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
printf("红发女郎:\n\n\n 吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");system("color 89");
break;
case 2:
if(fang1n<1&&gong1n<1)
{
printf("赏金猎人:\n\n\n 你要救公主啊!好胆量!\n\n\n 不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");system("color 89");
printf("%s心想:哇,这位大叔人真好啊!\n\n\n)",player.name);
gong1n++;
fang1n++;
}
else printf("赏金猎人:\n\n\n 加油吧,年轻人!\n\n\n 不要被外面世界所吓倒!\n\n\n");system("color 89");
break;
case 3:
printf("要喝点什么?\n\n\n 1,二锅头25金币 HP+20 2,伏特加80金币 HP+50 3,人头马面150金币 HP+100 0,返回\n\n\n");system("color 89");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(money<25){
printf("钱不够!");system("color 89");
}
else
{
if(player.health+20<=player.max_health){
printf("HP+20.");system("color 89");
money-=25;
player.health+=20;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 2:
if(money<80){
printf("钱不够!");system("color 89");
}
else{
if(player.health+50<=player.max_health){
printf("HP+50.");system("color 89");
money-=80;
player.health+=50;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 3:
if(money<150){
printf("钱不够!");system("color 89");
}
else{
if(player.health+100<=player.max_health){
printf("HP+100.");system("color 89");
money-=150;
player.health+=100;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 0:
printf("下次再来!\n");system("color 89");
break;
default:
printf("输入错误\n\n\n");system("color 89");
break;
}
break;
}
break;
case 4:
printf("你要干什么?\n\n\n 1,买东西 2,聊天 \n\n\n");system("color 89");
int mai;
scanf("%d",&mai);
if(mai==1){
printf("买点什么呢?\n1,止血草¥100 HP+60\n2,急救包¥150 HP+80 \n3,云南白药¥250 HP+120\n4,超级云南白药¥400 HP+200 \n5,经验草¥150 经验+300 \n6,经验包¥600 经验+600\n7,经验石¥500 经验+1000 \n0,拜拜\n");system("color 89");
int dongxi;
scanf("%d",&dongxi);
switch(dongxi){
case 1:
if(money>=100&&cao<6){
cao++;
money=money-100;
printf ("止血草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 2:
if(money>=150&&jijiubao<10){
jijiubao++;
money=money-150;
printf ("急救包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 3:
if(money>=250&&baiyao<10){
baiyao++;
money=money-250;
printf ("云南白药+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 4:
if(money>=400&&superbaiyao<10){
superbaiyao++;
money=money-400;
printf ("超级云南白药+1\n");system("color 89");}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 5:
if(money>=150){
jingyancao++;
money=money-150;
printf ("经验草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 6:
if(money>=300){
jingyanbao++;
money=money-300;
printf ("经验包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 7:
if(money>=500){
jingyanshi++;
money=money-500;
printf ("经验石+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
}
case 0:
printf("金币:%d\n",money);system("color 89");
printf("再见,欢迎下次再来!\n");system("color 89");
break;}
if(mai==2){
printf("药品商人:去去去,老子没时间陪你聊。\n");system("color 89");
}
}
}
else if(place_sign==place.hotel)
printf("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
else printf("这里好像没人可以聊天\n\n\n");system("color 89");
break;
case 4:
DisplayState();
break; //显示状态
case 5: //装备
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%d个 4,碧血战锤:%d个 5,蜘蛛毒剑:%d个 6,尚方宝剑:%d个 7,雷霆之刃:%d个\n\n\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n);system("color 89");
printf("选择要装备的武器或防具:\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(gong1n>=1){
printf("拿起了匕首\n\n\n");system("color 89");
gong=gong1;
strcpy(gongname,"匕首");system("color 89");
}
else printf("你没有匕首可以装备\n\n\n");system("color 89");
break;
case 2:
if(gong2n>=1){
printf("拿起了西洋剑\n\n\n");system("color 89");
gong=gong2;
strcpy(gongname,"西洋剑");system("color 89");
}
else printf("你没有西洋剑可以装备\n\n\n");system("color 89");
break;
case 3:
if(gong7n>=1){
printf("拿起了粗制石剑\n\n\n");
gong=gong7;
strcpy(gongname,"粗制石剑");
}
else printf("你没有粗制石剑可以装备\n\n\n");
break;
case 4:
if(gong3n>=1){
printf("拿起了碧血战锤\n\n\n");
gong=gong3;
strcpy(gongname,"碧血战锤");
}
else printf("你没有碧血战锤可以装备\n\n\n");
break;
case 5:
if(gong6n>=1){
printf("拿起了蜘蛛毒剑\n\n\n");
gong=gong6;
strcpy(gongname,"蜘蛛毒剑");
}
else printf("你没有蜘蛛毒剑可以装备\n\n\n");
break;
case 6:
if(gong4n>=1){
printf("拿起了尚方宝剑\n\n\n");
gong=gong4;
strcpy(gongname,"尚方宝剑");
}
else printf("你没有尚方宝剑可以装备\n\n\n");
break;
case 7:
if(gong5n>=1){
printf("拿起了雷霆之刃\n\n\n");
gong=gong5;
strcpy(gongname,"雷霆之刃");
}
else printf("你没有雷霆之刃可以装备\n\n\n");
break;
case 8:
if(fang1n>=1){
printf("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else printf("你没有布衣可以装备\n\n\n");
break;
case 9:
if(fang2n>=1){
printf("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else printf("你没有铁甲可以装备\n\n\n");
break;
case 10:
if(fang7n>=1){
printf("穿上了战斗马甲\n\n\n");
fang=fang7;
strcpy(fangname,"战斗马甲");
}
else printf("你没有战斗马甲可以装备\n\n\n");
break;
case 11:
if(fang3n>=1){
printf("穿上了重甲\n\n\n");
fang=fang3;
strcpy(fangname,"重甲");
}
else printf("你没有重甲可以装备\n\n\n");
break;
case 12:
if(fang6n>=1){
printf("穿上了石铠甲\n\n\n");
fang=fang6;
strcpy(fangname,"石凯甲");
}
else printf("你没有石凯甲可以装备\n\n\n");
break;
case 13:
if(fang4n>=1){
printf("穿上了传说圣甲\n\n\n");
fang=fang4;
strcpy(fangname,"传说圣甲");
}
else printf("你没有传说圣甲可以装备\n\n\n");
break;
case 14:
if(fang5n>=1){
printf("穿上了万龙甲\n\n\n");
fang=fang5;
strcpy(fangname,"万龙甲");
}
else printf("你没有万龙甲可以装备\n\n\n");
break; 
case 0:
printf("未更换装备\n\n\n");
break;
default:
printf("change error!");
}
break;
case 6:
printf(" 您好,欢迎您玩苍穹世界(斗破苍穹)。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty ”(不包括双引号)。由于2.10.1版本的buy,我们在2.10.1的基础上进行修改,已修复该buy。并且修改了怪物的各项数值,做了一些平衡性调整,希望大家喜欢。在这里要感谢吴昊同学,他给了我们许多宝贵的建议,谢谢。\n");system("color 89");
break;
case 0:
printf("确定退出游戏?(Y/N)\n\n\n");system("color 89");
getchar();
proof=getchar();
if(proof=='y'||proof=='Y'){
printf("按回车退出");system("color 89");
getchar();
return;
}
else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
else printf("继续!\n\n\n");
break;
default:
printf("输入错误!\n\n\n");
break;
case 7:int mi;cout<<"=====*【后台管理 简称开挂 测试Bug】*=================================\n请输入管理者密码      想退出就在管理密码那输入211\n=====*【想要后台密码就问郑桐羽,只能输数字,否则死循环】*===============\n管理密码:";cin>>mi;if(mi%20120913==0){cout<<"输入正确!\n欢迎进入后台!\n后台服务:\n=======================\n1.金币加999999\n2.血量加9999\n3.现有血量加9999\n4.攻击加9999\n5.防御加9999\n211.退出\n=======================\n输入>>> "<<endl;cin>>htsr;if(htsr==1){cout<<"成功获得效果 *金币加9999\n";money+=999999;}if(htsr==2){cout<<"成功获得效果 *血量加9999\n";player.health+=9999;}if(htsr==3){cout<<"成功获得效果 *血量上限加9999\n";player.max_health+=9999;}if(htsr==4){cout<<"成功获得效果 *攻击加9999\n";player.attack+=9999;}if(htsr==5){cout<<"成功获得效果 *防御加9999\n";player.defense+=9999;}if(htsr%211==0){cout<<"成功退出\n";continue;}}else{cout<<"输入错误!请检查!"<<endl;continue;}break;
}
}
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
printf("等级:%d 经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
}
void BattleAct()
{
while(1)
{
puts("=============================================================================");
printf("要怎么办?\n\n\n 1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
s=SuiJi();
printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
guai.health-=player.attack+s+gong-guai.defense/3;
if(AttackResult())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
ChooseWupin();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:
DisplayState();
break; //显示状态
case 4:
s=SuiJi();
if(s<4) //40%的概率可以逃跑
{
printf("%s逃跑了~\n\n\n",player.name);
battle=0;
return;
}
else printf("%s逃跑失败!\n\n\n",player.name);
break;
default:
printf("输入错误,重新输入!\n\n\n");
}
}
}
void printf(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
Sleep(100);
}
} 

2.10.3

#include<stdio.h>
#include<iostream>
#include<ctime>
#include<bits/stdc++.h>
#include<time.h> //suiji
#include<windows.h> //SLEEP函数
using namespace std;
struct Player //玩家结构体,并初始化player
{
char name[21];
int attack;
int defense;
int health;
long int max_health;
int level;
int exp;
int range_exp;
long int max_exp;
} player= {"勇者",100,80,200,200,1,0,0,100};
struct Enemy //怪的结构体,并初始化各种怪
{
char name[20];
char wupin[20];
int attack;
int defense;
int health;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int miss;
}
//怪,拿格伦石人举例 
// 怪变量  怪名     掉落的装备 攻   防  血  金币 经验 掉落装备编号 掉落概率 后面这俩不能改 
//  gl= {"格伦石人","石铠甲",  30, 150,1000,500, 250,      11,       7,           1,0},gl= {"格伦石人","石铠甲",30,150,1000,500,250,11,7,1,0},zhizhu= {"洞穴蜘蛛","蜘蛛毒剑",140,20,250,400,200,12,5,1,0},ymr= {"野蛮人","粗制石剑",20,20,150,100,50,13,5,1,0},nz= {"牛仔","战斗马甲",80,20,250,500,250,14,10,1,0},strongman= {"森林巨人","传说圣甲",50,50,580,200,100,1,5,1,0},witch= {"兽人","重甲",35,55,250,50,50,2,4,1,1},xiyi= {"森林蜥蜴","铁甲",20,25,80,30,35,3,8,2,2},big_strongman= {"熔岩巨龙","巨龙晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},lion= {"皇家士兵","尚方宝剑",100,30,380,200,100,5,5,1,0},horse= {"独眼巨人","碧血战锤",50,22,360,50,50,6,5,1,1},bee= {"草原剑客","西洋剑",27,11,60,30,35,7,5,2,2},shitu= {"凋零女巫","凋零之心",1400,500,15000,10000,5000,10,10,1,0},dljs= {"凋零巨兽","凋零之心",1200,700,20000,10000,5000,10,7,1,0},pika= {"皮卡超人","\0",300,40*8,1000,2000,1000,0,0,1,0},dapika= {"雷霆皮卡","雷霆之刃",350,40*10,1500,3000,2000,8,6,6,0},cl= {"中华长龙","\0",450,50*10,2000,3500,2500,0,0,1,0},jl= {"东方金龙","万龙甲",500,40*20,5000,8000,4500,9,6,6,1},gst={"凋零共生体","\0",1800,65*10,15000,0,10000,0,0,1,0},dlkl= {"凋零骷髅","\0",3000,30*10,12000,0,10000,0,0,1,0},dlfb= {".+*凋零风暴*+.","\0",9000,1500,49000,0,500000,0,0,1,0},guai= {"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place
{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,te1,te2,te3,te4;
} place= {1,2,3,4,5,6,7,8,9,10,11,12};
int max_exp=0;
int htsr;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=10;
int cao=3,jijiubao=3,baiyao=3,superbaiyao=3,miansi=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0,fang5=400,fang5n=0,fang6=150,fang6n=0,fang7=60,fang7n=0;
int gong=0,gong1=10,gong1n=0,gong2=20,gong2n=0,gong3=45,gong3n=0,gong4=100,gong4n=0,gong5=300,gong5n=0,gong6=150,gong6n=0,gong7=35,gong7n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0,htmmcs=5;
int diaolingxin=0; 
char gongname[20]="无",fangname[20]="无";
char proof;void AddWupin(int);
int AttackResult();
void BattleAct();  //      ____
void ChooseWupin();  //   /___/|
void DisplayState();  //  |   |/
void OrdinaryAct();     //▔▔
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);int main()
{
MessageBox (NULL, "欢迎来到斗破苍穹 2.10.3 正式版 !", "斗破苍穹 2.10.3 游戏开始提示", MB_OK);
int i=0,j=0,k=0;
char player_name[21];
Sleep(1000);
printf("                            _________________________________                    ");system("color 89");
printf("                          /________________________________/|                    ");system("color 89");
printf("                _.+=*^--{|欢迎来到 [斗破苍穹] 2.10.3 正式版|}--^*=+.              ");system("color 89");
printf("                          ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔                      \n");system("color 89");
//如果想使用外挂,名字请输入:“zty ”。
Sleep(1000);
printf("这里是斗破苍穹(苍穹世界)! 契晋赫苟国的漓嘉茜公主被神秘人绑架了!\n\n\n 伟大的勇者啊~拿起你的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");system("color 89");
scanf("%s",player_name);
strncpy(player.name,player_name,20);
if(strcmp(player.name,"zty")==0){printf("\n\n\n封印多年的zty族血统啊!你终于觉醒了!\n\n\nzty,你成为了天选之人,请你救出公主吧!\n\n\n");player.attack=99999;player.defense=99999;player.health=999999;player.max_health=999999;
}
getchar();OrdinaryAct();
return 0;
}int SuiJi()
{
srand((unsigned)time(NULL));
return rand()%10;
}int SuiJi100()
{
srand((unsigned)time(NULL));
return rand()%100;
}void ChooseWupin() //选择物品 并使用
{
printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨龙晶石%d个 12,免死金牌%d个 13,凋零之心%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm,miansi,diaolingxin);system("color 8A");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(cao>0)
{
printf("使用止血草,HP增加120\n\n\n");system("color 8A");
cao--;
if(player.health+120>player.max_health)player.health=player.max_health;
else player.health+=120;
}
else printf("没有止血草了\n\n\n");system("color 8A");
break;
case 2:
if(jijiubao>0)
{
printf("使用急救包,HP增加180\n\n\n");system("color 8A");
jijiubao--;
if(player.health+180>player.max_health)player.health=player.max_health;
else player.health+=180;
}
else printf("没有急救包了\n\n\n");system("color 8A");
break;
case 3:
if(baiyao>0)
{
printf("使用云南白药,HP增加240\nz\n\n");system("color 8A");
baiyao--;
if(player.health+240>player.max_health)player.health=player.max_health;
else player.health+=240;
}
else printf("没有云南白药了\n\n\n");system("color 8A");
break;
case 4:
if(superbaiyao>0)
{
printf("使用超级云南白药,HP增加400\n\n\n");system("color 8A");
superbaiyao--;
if(player.health+400>player.max_health)player.health=player.max_health;
else player.health+=400;
}
else printf("没有超级云南白药了\n\n\n");system("color 8A");
break;
case 5:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(boom>0)
{
printf("使用手雷,敌人HP减少100\n\n\n");system("color 84");
boom--;
guai.health-=100;
AttackResult();
}
}
else printf("非战斗状态,不能使用手雷!\n\n\n");system("color 84");
break;
case 6:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(dubiao>0)
{
printf("使用毒标,敌人HP减少200\n\n\n");system("color 84");
dubiao--;
guai.health-=200;
AttackResult();
}
}
else printf("非战斗状态,不能使用毒标!\n\n\n");system("color 84");
break;
case 7:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(atom_boom>0)
{
printf("使用手抛式原子弹,敌人HP减少1500\n\n\n");system("color 84");
atom_boom--;
guai.health-=1500;
AttackResult();
}
}
else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");system("color 84");
break;
case 8:
if(jingyancao>0 && player.level<200)
{printf("使用经验草,等级增加3级\n\n\n");system("color 8E");
jingyancao--;
player.max_health=player.max_health+60; 
player.attack+=9;
player.defense+=6;
player.level+=3;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
else    if(jingyancao<1)
{
printf("没有经验草了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 9:
if(jingyanbao>0 && player.level<200)
{
if(player.level>197&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
jingyanbao--;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验包,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{printf("使用经验包,等级增加5级\n\n\n");system("color 8E");
jingyanbao--;
player.max_health=player.max_health+100; 
player.attack+=15;
player.defense+=10;
player.level+=5;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(jingyanbao<1)
{
printf("没有经验包了");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 10:
if(jingyanshi>0 && player.level<200)
{
if(player.level>192&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health+=sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验石,等级增加%d级\n",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用经验石,等级增加10级\n");system("color 8E");
jingyanshi--;
player.max_health=player.max_health+200; 
player.attack+=30;
player.defense+=20;
player.level+=10;
player.health=player.max_health;
}
}
else if(jingyanshi<1)
{
printf("没有经验石了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 11:
if(strongman_arm>0 && player.level<200)
{
if(player.level>482&&player.level<500)
{
int sheng;
sheng=500-player.level;
player.level+=sheng;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用巨龙晶石,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用巨龙晶石,等级增加20级\n\n\n");system("color 8E");
strongman_arm--;
player.max_health=player.max_health+400; 
player.attack+=60;
player.defense+=40;
player.health+=999999;
player.level+=20;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(strongman_arm<1)
{
printf("没有巨龙晶石了。\n\n\n");system("color 8E");
}
else printf("等级超过500级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 12:
if(miansi>0)
{
printf("使用免死金牌,HP满\n\n\n");system("color 8b");
miansi--;
if(player.health+999999>player.max_health)player.health=player.max_health;
else player.health+=999999;
}else printf("没有免死金牌了\n\n\n"); system("color 8b");break;
break;
case 13:
if(diaolingxin>0)
{
printf("使用凋零之心\nHP+100  攻击+100\n\n\n");system("color 8b");
diaolingxin--;
player.health+=100;
player.attack+=100; 
}else printf("没有凋零之心了\n\n\n"); system("color 8b");break;
case 0:
break;
default:
printf("ChooseWupin error!\n\n\n");
}
}
int AttackResult() //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
if(guai.health<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);system("color 8C");
player.exp+=guai.exp;
player.range_exp+=guai.exp;
money+=guai.money;
s=SuiJi();
if(s<guai.wupinpro)
{
printf("从敌人尸骸中发现");system("color 8C");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
}
WhetherLevelUp();
if(strcmp(guai.name,"*凋零巨兽*")==0)
{
printf("你把公主救了出来\n\n你从公主口中得知了一个更大的阴谋,你可以进入凋零世界\n\n");system("color 8C");}
return 1; //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
}
else
{
int s=SuiJi();if((guai.attack+s-player.defense/3)<0)
{
player.health-=1;
printf("%s反击,你的HP减少了 1\n\n",guai.name);system("color 8C");
}
else
{
player.health-=guai.attack+s-player.defense/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);system("color 8C");
}
if(player.health<0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);system("color CC");
money-=player.level*500;
player.health=player.max_health/5;
OrdinaryAct();//
return 1;
}
}
return 0;
}
void AddWupin(int wupin_sign)
{switch(wupin_sign)
{
case 1:
fang4n++;
break;
case 2:
fang3n++;
break;
case 3:
fang2n++;
break;
case 4:
strongman_arm++;
break;
case 5:
gong4n++;
break;
case 6:
gong3n++;
break;
case 7:
gong2n++;
break;
case 8:
gong5n++;
break;
case 9:
fang5n++;
break;
case 10:
diaolingxin++;
break;
case 11:
fang6n++;
break;
case 12:
gong6n++;
break;
case 13:
gong7n++;
break;
case 14:
fang7n++;
break;
default:
printf("AddWupin error\n\n\n");
}}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/150;
int l2=player.range_exp/375;
int l3=player.range_exp/750;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);system("color 8E");
player.exp=(player.exp+guai.exp) || player.exp-((player.exp+guai.exp) || player.exp)%100;
player.attack+=3*l1;
player.defense+=2*l1;
player.max_health+=20*l1;
player.health=player.max_health;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l2;
player.defense+=2*l2;
player.max_health+=20*l2;
player.health=player.max_health;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l3;
player.defense+=2*l3;
player.max_health+=20*l3;
player.health=player.max_health;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
void OrdinaryAct() //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
{while(1)
{
// \(1000);
// system("cls");
puts("=============================================================================");system("color 89");
printf("要做什么?\n\n\n 1,移动 2,道具 3,对话 4,查看状态 5,装备 6,关于游戏 7,打开后台 0,退出游戏\n\n\n");system("color 89");
puts("=============================================================================");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1: //显示移动菜单
printf("要去哪里?\n\n\n");system("color 89");
printf("1,小郑子酒吧 2,诺亚方舟酒店 3,北朝商会 4,红玉拍卖行 5,冒险荒野\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:
place_sign=place.hotel; //进入旅店
printf("金币:%d",money);system("color 89");
printf("要开房吗? 200个金币 1,是 0,否\n\n\n");system("color 89");
choose_number=1;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(money-200<=0) //判断钱是否够
{
printf("Sorry,你的钱不够~\n\n\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
else
{
printf("好好休息\nHP满\n第二天了\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
money-=200; //花费200住店费
player.health=player.max_health; //体力满
}
break;
case 0:
printf("下次再来!\n\n\n");system("color 89");
break;
default:
printf("hotel talk error!\n\n\n");system("color 89");
}
place_sign=0;
break;
case 3:
int yongju,gong,fang;
printf("请问您要购买什么类型的物品?\n\n\n 1,攻击装备 2,防御装备 3,一次性伤害武器\n\n\n");system("color 89");
scanf("%d",&yongju);
switch(yongju)
{
case 1:
printf("请问您要购买什么武器?\n\n\n 1,匕首¥300 2,西洋剑¥500 3,碧血战锤¥1000\n\n\n");system("color 89");
scanf("%d",&gong);
switch(gong)
{
case 1:
if(money>=300)
{
gong1n++;
money=money-300;
printf ("匕首+1\n");system("color 89");
printf("匕首:%d个\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 2:
if(money>=500)
{
gong2n++;
money=money-500;
printf ("西洋剑+1\n");system("color 89");
printf("西洋剑:%d个\n",gong2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 3:
if(money>=1000)
{
gong3n++;
money=money-1000;
printf ("碧血战锤+1\n");system("color 89");
printf("碧血战锤:%d个\n",gong3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
default:
printf("对不起,我们只会打造以上武器。");system("color 89");
break;}
break;
case 2:
int fang;
printf("请问您要购买什么防具?\n\n\n 1,布衣¥300 2,铁甲¥500 3,重甲¥1000\n\n\n");system("color 89");
scanf("%d",&fang);
switch(fang)
{
case 1:
if(money>=300)
{
fang1n++;
money=money-300;
printf ("布衣+1\n");system("color 89");
printf("布衣:%d个\n",fang1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
case 2:
if(money>=500)
{
fang2n++;
money=money-500;
printf ("铁甲+1\n");system("color 89");
printf("铁甲:%d个\n",fang2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 3:
if(money>=1000)
{
fang3n++;
money=money-1000;
printf ("重甲+1\n");system("color 89");
printf("重甲:%d个\n",fang3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
default:
printf("对不起,我们只会打造以上防具。");system("color 89");
break;}
printf("金币:%d\n",money);system("color 89");
break;
case 3:
printf("请问您要购买什么一次性伤害武器?\n 1,手雷 2,毒镖 3,手抛式原子弹\n\n\n");system("color 89");
int yi;
scanf("%d",&yi);
switch(yi)
{
case 1:
if(money>=300 && boom<5)
{
boom++;
money=money-300;
printf("手雷+1\n");system("color 89");
printf("手雷:%d\n",boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 2:
if(money>=600 && dubiao<9999999)
{
dubiao++;
money=money-600;
printf("毒镖+1\n");system("color 89");
printf("毒镖:%d\n",dubiao);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
break;
case 3:
if(money>=1000 && atom_boom<5)
{
atom_boom=atom_boom+1;
money=money-1000;
printf("手抛式原子弹+1\n");system("color 89");
printf("手抛式原子弹:%d\n",atom_boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
}
}
break;
case 4:
printf ("欢迎您光临本拍卖行,请问您要卖什么东西?\n\n");system("color 89");
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%n 4,碧血战锤:%d个 5,蜘蛛毒剑:%n个 6,尚方宝剑:%d个 7,皮卡大剑:%d个\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个 15,巨龙晶石:%d个\n 0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n,strongman_arm);system("color 89");
int pai,shu,i;
scanf("%d",&pai);system("color 89");
switch(pai)
{
case 1:
printf("请问您要出售几件?");system("color 89");
scanf("%d",&shu);
if(gong1n>=shu)
{
gong1n=gong1n-shu;
money=money+shu*240;
printf("匕首:%d\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("装备数不够,无法出售!\n");system("color 89");
break;
}
break;
case 2:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong2n>=shu)
{
gong2n=gong2n-shu;
money=money+shu*400;
printf("西洋剑:%d\n",gong2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 3:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong7n>=shu)
{
gong7n=gong7n-shu;
money=money+shu*800;
printf("粗制石剑:%d\n",gong7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 4:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong3n>=shu)
{
gong3n=gong3n-shu;
money=money+shu*800;
printf("碧血战锤:%d\n",gong3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 5:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong6n>=shu)
{
gong6n=gong6n-shu;
money=money+shu*1000;
printf("蜘蛛毒剑:%d\n",gong6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 6:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong4n>=shu)
{
gong4n=gong4n-shu;
money=money+shu*1500;
printf("尚方宝剑:%d\n",gong4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 7:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong5n>=shu)
{
gong5n=gong5n-shu;
money=money+shu*3000;
printf("皮卡大剑:%d\n",gong5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 8:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang1n>=shu)
{
fang1n=fang1n-shu;
money=money+shu*240;
printf("布衣:%d\n",fang1n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 9:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang2n>=shu)
{
fang2n=fang2n-shu;
money=money+shu*500;
printf("铁甲:%d\n",fang2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 10:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang7n>=shu)
{
fang7n=fang7n-shu;
money=money+shu*1000;
printf("战斗马甲:%d\n",fang7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 11:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang3n>=shu)
{
fang3n=fang3n-shu;
money=money+shu*800;
printf("重甲:%d\n",fang3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
break;
case 12:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang6n>=shu)
{
fang6n=fang6n-shu;
money=money+shu*2000;
printf("石凯甲:%d\n",fang6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 13:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang4n>=shu)
{
fang4n=fang4n-shu;
money=money+shu*1500;
printf("传说圣甲:%d\n",fang4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}case 14:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang5n>=shu)
{
fang5n=fang5n-shu;
money=money+shu*3000;
printf("万龙甲:%d\n",fang5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 15:
printf("请问您要出售几颗?");
scanf("%d",&shu);
if(strongman_arm>=shu)
{
strongman_arm=strongman_arm-shu;
money=money+shu*4000;
printf("巨龙晶石:%d\n",strongman_arm);
printf("金币:%d\n",money);
}
else
{
printf("晶石数不够,无法出售!\n");
break;
}
break;
case 0:
break;
break;
default:
printf("没有该装备,无法出售!\n");
break;
}break;
case 5:
int yewai;
while(1)
{
puts("=============================================================================");
printf("要去哪冒险呢?");
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★★★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★★\n\n 5,炽热炎洞 危险程度:★★★★★\n\n 6,皮卡营地 危险程度★★★★★★\n\n 7,花朵宫殿 危险程度:★★★★★★\n\n 8,五千龙穴 危险程度:★★★★★★★\n\n 9,凋零宇宙 危险程度:★★★★★★★★\n\n0,离开\n");system("color 8c");
puts("=============================================================================");
scanf("%d",&yewai);
switch(yewai)
{
case 1:
place_sign=place.forest1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
//不用调用OAct函数,会自动执行OAct函数;
}
break;
case 3:
place_sign=place.forest2;
s=SuiJi();
if(s<4)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
battle=1;
guai=zhizhu;
printf("可怕的%s爬了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 5:
place_sign=place.forest3;
s=SuiJi();
if(s<=3){
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
} else if(s<8){
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=zhizhu;
printf("可怕的%s扑爬了过来!\n\n\n",guai.name);
BattleAct();
} 
break;
case 2:
place_sign=place.grass1;
s=SuiJi();
if(s<=3){
battle=1;
guai=bee;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else if(s<8){
battle=1;
guai=ymr;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 4:
place_sign=place.grass2;
s=SuiJi();
if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7){
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();}
else{
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 6:
s=SuiJi();
if(s<7){
battle=1; 
guai=pika;
printf("你感到了强烈的电流涌入全身,%s走了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9){
battle=1;
guai=dapika;
printf("天空一声巨响,三道闪电劈到%s的身上,%s手持雷霆之刃冲了过来!\n\n\n",guai.name,guai.name);
BattleAct();
}
else{
printf("这里安全\n\n\n");
}
break;
case 8:
s=SuiJi();
if(s<=3)
{
battle=1; 
guai=cl;
printf("一条长龙横卧洞内,你定睛一看,是%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=8 && s>=4)
{
battle=1; 
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else {
battle=1;
guai=jl;
printf("一条金光闪闪的长龙盘旋空中,你定睛一看,是传说中的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 7:
place_sign=place.grass3;
s=SuiJi();
if(s<5)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
if(strongman_arm>=1)
{
printf("神秘老人:\n\n\n 哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!巨龙晶石我要了,公主你也别想带走!\n\n\n");
guai=shitu;
printf("瞬间,你被一团黑雾笼罩,你被拉入了凋零幻境,%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else printf("神秘老人:\n\n\n 年轻人,你好啊.如果你有巨龙晶石,我可以告诉你公主的下落哦~\n\n\n");
}
else
{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 9:
s=SuiJi();
if(diaolingxin!=0){
if(s==1)
{
battle=1; 
guai=dlfb;
printf("一个巨大的黑暗物体,周围环绕着大量的由破碎方块组成的黑色颗粒云环的%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else if(s<=2 && s<=4)
{
battle=1; 
guai=dlkl;
printf("手持凋零剑的黑色凶恶%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=5&&s>=7){
battle=1;
guai=gst;
printf("一个巨大的触手向你打来,你挡了下来%s扑了过来!\n\n\n",guai.name);
BattleAct();
} else{
battle=1;
guai=dljs;
printf("一只巨大的猛兽%s冲了过来!\n\n\n",guai.name);
BattleAct();
}
}if(diaolingxin==0){
cout<<"你没有凋零之心,需要击败凋零巨兽" <<endl;
}
break;
if(yewai!=0)
{
printf("该区域为未知区域,无法进入。\n\n\n");system("color 89");
break;
}
}
if(yewai==0)
{
break;
printf("已离开荒野。");system("color 89");
}
}}
break;case 2:
ChooseWupin();
break; //显示道具,并可以使用.
case 3: //对话选项
if(place_sign==place.bar)
{
printf("要和谁说话?\n\n\n1,红发女郎 2,赏金猎人 3,酒吧老板 4,药品商人\n\n\n"); system("color 89");//显示对话人物
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
printf("红发女郎:\n\n\n 吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");system("color 89");
break;
case 2:
if(fang1n<1&&gong1n<1)
{
printf("赏金猎人:\n\n\n 你要救公主啊!好胆量!\n\n\n 不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");system("color 89");
printf("%s心想:哇,这位大叔人真好啊!\n\n\n)",player.name);
gong1n++;
fang1n++;
}
else printf("赏金猎人:\n\n\n 加油吧,年轻人!\n\n\n 不要被外面世界所吓倒!\n\n\n");system("color 89");
break;
case 3:
printf("要喝点什么?\n\n\n 1,二锅头25金币 HP+20 2,伏特加80金币 HP+50 3,人头马面150金币 HP+100 0,返回\n\n\n");system("color 89");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(money<25){
printf("钱不够!");system("color 89");
}
else
{
if(player.health+20<=player.max_health){
printf("HP+20.");system("color 89");
money-=25;
player.health+=20;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 2:
if(money<80){
printf("钱不够!");system("color 89");
}
else{
if(player.health+50<=player.max_health){
printf("HP+50.");system("color 89");
money-=80;
player.health+=50;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 3:
if(money<150){
printf("钱不够!");system("color 89");
}
else{
if(player.health+100<=player.max_health){
printf("HP+100.");system("color 89");
money-=150;
player.health+=100;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 0:
printf("下次再来!\n");system("color 89");
break;
default:
printf("输入错误\n\n\n");system("color 89");
break;
}
break;
}
break;
case 4:
printf("你要干什么?\n\n\n 1,买东西 2,聊天 \n\n\n");system("color 89");
int mai;
scanf("%d",&mai);
if(mai==1){
printf("买点什么呢?\n1,止血草¥100 HP+60\n2,急救包¥150 HP+80 \n3,云南白药¥250 HP+120\n4,超级云南白药¥400 HP+200 \n5,经验草¥150 经验+300 \n6,经验包¥600 经验+600\n7,经验石¥500 经验+1000 \n0,拜拜\n");system("color 89");
int dongxi;
scanf("%d",&dongxi);
switch(dongxi){
case 1:
if(money>=100&&cao<6){
cao++;
money=money-100;
printf ("止血草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 2:
if(money>=150&&jijiubao<10){
jijiubao++;
money=money-150;
printf ("急救包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 3:
if(money>=250&&baiyao<10){
baiyao++;
money=money-250;
printf ("云南白药+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 4:
if(money>=400&&superbaiyao<10){
superbaiyao++;
money=money-400;
printf ("超级云南白药+1\n");system("color 89");}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 5:
if(money>=150){
jingyancao++;
money=money-150;
printf ("经验草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 6:
if(money>=300){
jingyanbao++;
money=money-300;
printf ("经验包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 7:
if(money>=500){
jingyanshi++;
money=money-500;
printf ("经验石+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
}
case 0:
printf("金币:%d\n",money);system("color 89");
printf("再见,欢迎下次再来!\n");system("color 89");
break;}
if(mai==2){
printf("药品商人:去去去,老子没时间陪你聊。\n");system("color 89");
}
}
}
else if(place_sign==place.hotel)
printf("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
else printf("这里好像没人可以聊天\n\n\n");system("color 89");
break;
case 4:
DisplayState();
break; //显示状态
case 5: //装备
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%d个 4,碧血战锤:%d个 5,蜘蛛毒剑:%d个 6,尚方宝剑:%d个 7,雷霆之刃:%d个\n\n\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n);system("color 89");
printf("选择要装备的武器或防具:\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(gong1n>=1){
printf("拿起了匕首\n\n\n");system("color 89");
gong=gong1;
strcpy(gongname,"匕首");system("color 89");
}
else printf("你没有匕首可以装备\n\n\n");system("color 89");
break;
case 2:
if(gong2n>=1){
printf("拿起了西洋剑\n\n\n");system("color 89");
gong=gong2;
strcpy(gongname,"西洋剑");system("color 89");
}
else printf("你没有西洋剑可以装备\n\n\n");system("color 89");
break;
case 3:
if(gong7n>=1){
printf("拿起了粗制石剑\n\n\n");
gong=gong7;
strcpy(gongname,"粗制石剑");
}
else printf("你没有粗制石剑可以装备\n\n\n");
break;
case 4:
if(gong3n>=1){
printf("拿起了碧血战锤\n\n\n");
gong=gong3;
strcpy(gongname,"碧血战锤");
}
else printf("你没有碧血战锤可以装备\n\n\n");
break;
case 5:
if(gong6n>=1){
printf("拿起了蜘蛛毒剑\n\n\n");
gong=gong6;
strcpy(gongname,"蜘蛛毒剑");
}
else printf("你没有蜘蛛毒剑可以装备\n\n\n");
break;
case 6:
if(gong4n>=1){
printf("拿起了尚方宝剑\n\n\n");
gong=gong4;
strcpy(gongname,"尚方宝剑");
}
else printf("你没有尚方宝剑可以装备\n\n\n");
break;
case 7:
if(gong5n>=1){
printf("拿起了雷霆之刃\n\n\n");
gong=gong5;
strcpy(gongname,"雷霆之刃");
}
else printf("你没有雷霆之刃可以装备\n\n\n");
break;
case 8:
if(fang1n>=1){
printf("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else printf("你没有布衣可以装备\n\n\n");
break;
case 9:
if(fang2n>=1){
printf("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else printf("你没有铁甲可以装备\n\n\n");
break;
case 10:
if(fang7n>=1){
printf("穿上了战斗马甲\n\n\n");
fang=fang7;
strcpy(fangname,"战斗马甲");
}
else printf("你没有战斗马甲可以装备\n\n\n");
break;
case 11:
if(fang3n>=1){
printf("穿上了重甲\n\n\n");
fang=fang3;
strcpy(fangname,"重甲");
}
else printf("你没有重甲可以装备\n\n\n");
break;
case 12:
if(fang6n>=1){
printf("穿上了石铠甲\n\n\n");
fang=fang6;
strcpy(fangname,"石凯甲");
}
else printf("你没有石凯甲可以装备\n\n\n");
break;
case 13:
if(fang4n>=1){
printf("穿上了传说圣甲\n\n\n");
fang=fang4;
strcpy(fangname,"传说圣甲");
}
else printf("你没有传说圣甲可以装备\n\n\n");
break;
case 14:
if(fang5n>=1){
printf("穿上了万龙甲\n\n\n");
fang=fang5;
strcpy(fangname,"万龙甲");
}
else printf("你没有万龙甲可以装备\n\n\n");
break; 
case 0:
printf("未更换装备\n\n\n");
break;
default:
printf("change error!");
}
break;
case 6:
printf(" 您好,欢迎您玩苍穹世界(斗破苍穹)。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty ”(不包括双引号)。由于2.10.2版本巨龙晶石的buy,我们在2.10.2的基础上进行修改,已修复该buy。并且修改了巨龙晶石的升级上限,希望大家喜欢。在这里要感谢吴昊同学,他给了我们许多宝贵的建议,谢谢。\n");system("color 89");
break;
case 0:
printf("确定退出游戏?(Y/N)\n\n\n");system("color 89");
getchar();
proof=getchar();
if(proof=='y'||proof=='Y'){
printf("按回车退出");system("color 89");
getchar();
return;
}
else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
else printf("继续!\n\n\n");
break;
default:
printf("输入错误!\n\n\n");
break;
case 7:int mi;cout<<"=====*【后台管理 简称开挂 测试Bug】*=================================\n请输入管理者密码===================================*【想要后台密码就问郑桐羽,只能输数字,否则死循环】*===============\n管理密码:";cin>>mi;if(mi%20120913==0){cout<<"输入正确!\n欢迎进入后台!\n后台服务:\n=======================\n1.金币加999999\n2.血量上限加9999\n3.现有血量加9999\n4.攻击加9999\n5.防御加9999\n211.退出\n=======================\n输入>>> "<<endl;cin>>htsr;if(htsr==1){cout<<"成功获得效果 *金币加9999\n";money+=999999;}if(htsr==2){cout<<"成功获得效果 *血量加9999\n";player.health+=9999;}if(htsr==3){cout<<"成功获得效果 *血量上限加9999\n";player.max_health+=9999;}if(htsr==4){cout<<"成功获得效果 *攻击加9999\n";player.attack+=9999;}if(htsr==5){cout<<"成功获得效果 *防御加9999\n";player.defense+=9999;}if(htsr%211==0){cout<<"成功退出\n";continue;}}else{cout<<"输入错误!请检查!"<<endl;continue;}break;
}
}
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
printf("等级:%d 经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
}
void BattleAct()
{
while(1)
{
puts("=============================================================================");
printf("要怎么办?\n\n\n 1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
s=SuiJi();
printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
guai.health-=player.attack+s+gong-guai.defense/3;
if(AttackResult())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
ChooseWupin();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:
DisplayState();
break; //显示状态
case 4:
s=SuiJi();
if(s<4) //40%的概率可以逃跑
{
printf("%s逃跑了~\n\n\n",player.name);
battle=0;
return;
}
else printf("%s逃跑失败!\n\n\n",player.name);
break;
default:
printf("输入错误,重新输入!\n\n\n");
}
}
}
void printf(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
Sleep(100);
}
} 

2.10.4

#include<stdio.h>
#include<iostream>
#include<ctime>
#include<bits/stdc++.h>
#include<time.h> //suiji
#include<windows.h> //SLEEP函数
using namespace std;
struct Player //玩家结构体,并初始化player
{
char name[21];
int attack;
int defense;
int health;
long int max_health;
int level;
int exp;
int range_exp;
long int max_exp;
} player= {"勇者",100,80,200,200,1,0,0,100};
struct Enemy //怪的结构体,并初始化各种怪
{
char name[20];
char wupin[20];
int attack;
int defense;
int health;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int miss;
}
//怪,拿格伦石人举例 
// 怪变量  怪名     掉落的装备 攻   防  血  金币 经验 掉落装备编号 掉落概率 后面这俩不能改 
//  gl= {"格伦石人","石铠甲",  30, 150,1000,500, 250,      11,       7,           1,0},gl= {"格伦石人","石铠甲",30,150,1000,500,250,11,7,1,0},zhizhu= {"洞穴蜘蛛","蜘蛛毒剑",140,20,250,400,200,12,5,1,0},ymr= {"野蛮人","粗制石剑",20,20,150,100,50,13,5,1,0},nz= {"牛仔","战斗马甲",80,20,250,500,250,14,10,1,0},strongman= {"森林巨人","传说圣甲",50,50,580,200,100,1,5,1,0},witch= {"兽人","重甲",35,55,250,50,50,2,4,1,1},xiyi= {"森林蜥蜴","铁甲",20,25,80,30,35,3,8,2,2},big_strongman= {"熔岩巨龙","巨龙晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},lion= {"皇家士兵","尚方宝剑",100,30,380,200,100,5,5,1,0},horse= {"独眼巨人","碧血战锤",50,22,360,50,50,6,5,1,1},bee= {"草原剑客","西洋剑",27,11,60,30,35,7,5,2,2},shitu= {"凋零女巫","凋零之心",1400,500,15000,10000,5000,10,10,1,0},dljs= {"凋零巨兽","凋零之心",1200,700,20000,10000,5000,10,7,1,0},pika= {"皮卡超人","\0",300,40*8,1000,2000,1000,0,0,1,0},dapika= {"雷霆皮卡","雷霆之刃",350,40*10,1500,3000,2000,8,6,6,0},cl= {"中华长龙","\0",450,50*10,2000,3500,2500,0,0,1,0},jl= {"东方金龙","万龙甲",500,40*20,5000,8000,4500,9,6,6,1},gst={"凋零共生体","\0",1800,65*10,15000,0,10000,0,0,1,0},dlkl= {"凋零骷髅","\0",3000,30*10,12000,0,10000,0,0,1,0},dlfb= {".+*凋零风暴*+.","\0",9000,1500,49000,0,500000,0,0,1,0},guai= {"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place
{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,te1,te2,te3,te4;
} place= {1,2,3,4,5,6,7,8,9,10,11,12};
int max_exp=0;
int htsr;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=10;
int cao=3,jijiubao=3,baiyao=3,superbaiyao=3,miansi=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0,fang5=400,fang5n=0,fang6=150,fang6n=0,fang7=60,fang7n=0;
int gong=0,gong1=10,gong1n=0,gong2=20,gong2n=0,gong3=45,gong3n=0,gong4=100,gong4n=0,gong5=300,gong5n=0,gong6=150,gong6n=0,gong7=35,gong7n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0,htmmcs=5;
int diaolingxin=0; 
char gongname[20]="无",fangname[20]="无";
char proof;void AddWupin(int);
int AttackResult();
void BattleAct();  //      ____
void ChooseWupin();  //   /___/|
void DisplayState();  //  |   |/
void OrdinaryAct();     //▔▔
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);int main()
{
MessageBox (NULL, "欢迎来到斗破苍穹 2.10.3 正式版 !", "斗破苍穹 2.10.3 游戏开始提示", MB_OK);
int i=0,j=0,k=0;
char player_name[21];
Sleep(1000);
printf("                            _________________________________                    ");system("color 89");
printf("                          /________________________________/|                    ");system("color 89");
printf("                _.+=*^--{|欢迎来到 [斗破苍穹] 2.10.3 正式版|}--^*=+.              ");system("color 89");
printf("                          ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔                      \n");system("color 89");
//如果想使用外挂,名字请输入:“zty ”。
Sleep(1000);
printf("这里是斗破苍穹(苍穹世界)! 契晋赫苟国的漓嘉茜公主被神秘人绑架了!\n\n\n 伟大的勇者啊~拿起你的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");system("color 89");
scanf("%s",player_name);
strncpy(player.name,player_name,20);
if(strcmp(player.name,"zty")==0){printf("\n\n\n封印多年的zty族血统啊!你终于觉醒了!\n\n\nzty,你成为了天选之人,请你救出公主吧!\n\n\n");player.attack=99999;player.defense=99999;player.health=999999;player.max_health=999999;
}
getchar();OrdinaryAct();
return 0;
}int SuiJi()
{
srand((unsigned)time(NULL));
return rand()%10;
}int SuiJi100()
{
srand((unsigned)time(NULL));
return rand()%100;
}void ChooseWupin() //选择物品 并使用
{
printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨龙晶石%d个 12,免死金牌%d个 13,凋零之心%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm,miansi,diaolingxin);system("color 8A");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(cao>0)
{
printf("使用止血草,HP增加120\n\n\n");system("color 8A");
cao--;
if(player.health+120>player.max_health)player.health=player.max_health;
else player.health+=120;
}
else printf("没有止血草了\n\n\n");system("color 8A");
break;
case 2:
if(jijiubao>0)
{
printf("使用急救包,HP增加180\n\n\n");system("color 8A");
jijiubao--;
if(player.health+180>player.max_health)player.health=player.max_health;
else player.health+=180;
}
else printf("没有急救包了\n\n\n");system("color 8A");
break;
case 3:
if(baiyao>0)
{
printf("使用云南白药,HP增加240\nz\n\n");system("color 8A");
baiyao--;
if(player.health+240>player.max_health)player.health=player.max_health;
else player.health+=240;
}
else printf("没有云南白药了\n\n\n");system("color 8A");
break;
case 4:
if(superbaiyao>0)
{
printf("使用超级云南白药,HP增加400\n\n\n");system("color 8A");
superbaiyao--;
if(player.health+400>player.max_health)player.health=player.max_health;
else player.health+=400;
}
else printf("没有超级云南白药了\n\n\n");system("color 8A");
break;
case 5:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(boom>0)
{
printf("使用手雷,敌人HP减少100\n\n\n");system("color 84");
boom--;
guai.health-=100;
AttackResult();
}
}
else printf("非战斗状态,不能使用手雷!\n\n\n");system("color 84");
break;
case 6:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(dubiao>0)
{
printf("使用毒标,敌人HP减少200\n\n\n");system("color 84");
dubiao--;
guai.health-=200;
AttackResult();
}
}
else printf("非战斗状态,不能使用毒标!\n\n\n");system("color 84");
break;
case 7:
if(battle) //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
{
if(atom_boom>0)
{
printf("使用手抛式原子弹,敌人HP减少1500\n\n\n");system("color 84");
atom_boom--;
guai.health-=1500;
AttackResult();
}
}
else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");system("color 84");
break;
case 8:
if(jingyancao>0 && player.level<200)
{printf("使用经验草,等级增加3级\n\n\n");system("color 8E");
jingyancao--;
player.max_health=player.max_health+60; 
player.attack+=9;
player.defense+=6;
player.level+=3;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
else    if(jingyancao<1)
{
printf("没有经验草了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 9:
if(jingyanbao>0 && player.level<200)
{
if(player.level>197&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
jingyanbao--;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验包,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{printf("使用经验包,等级增加5级\n\n\n");system("color 8E");
jingyanbao--;
player.max_health=player.max_health+100; 
player.attack+=15;
player.defense+=10;
player.level+=5;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(jingyanbao<1)
{
printf("没有经验包了");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 10:
if(jingyanshi>0 && player.level<200)
{
if(player.level>192&&player.level<200)
{
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health+=sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验石,等级增加%d级\n",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用经验石,等级增加10级\n");system("color 8E");
jingyanshi--;
player.max_health=player.max_health+200; 
player.attack+=30;
player.defense+=20;
player.level+=10;
player.health=player.max_health;
}
}
else if(jingyanshi<1)
{
printf("没有经验石了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 11:
if(strongman_arm>0 && player.level<200)
{
if(player.level>482&&player.level<500)
{
int sheng;
sheng=500-player.level;
player.level+=sheng;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用巨龙晶石,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用巨龙晶石,等级增加20级\n\n\n");system("color 8E");
strongman_arm--;
player.max_health=player.max_health+400; 
player.attack+=60;
player.defense+=40;
player.health+=999999;
player.level+=20;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(strongman_arm<1)
{
printf("没有巨龙晶石了。\n\n\n");system("color 8E");
}
else printf("等级超过500级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 12:
if(miansi>0)
{
printf("使用免死金牌,HP满\n\n\n");system("color 8b");
miansi--;
if(player.health+999999>player.max_health)player.health=player.max_health;
else player.health+=999999;
}else printf("没有免死金牌了\n\n\n"); system("color 8b");break;
break;
case 13:
if(diaolingxin>0)
{
printf("使用凋零之心\nHP+100  攻击+100\n\n\n");system("color 8b");
diaolingxin--;
player.health+=100;
player.attack+=100; 
}else printf("没有凋零之心了\n\n\n"); system("color 8b");break;
case 0:
break;
default:
printf("ChooseWupin error!\n\n\n");
}
}
int AttackResult() //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
if(guai.health<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);system("color 8C");
player.exp+=guai.exp;
player.range_exp+=guai.exp;
money+=guai.money;
s=SuiJi();
if(s<guai.wupinpro)
{
printf("从敌人尸骸中发现");system("color 8C");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
}
WhetherLevelUp();
if(strcmp(guai.name,"*凋零巨兽*")==0)
{
printf("你把公主救了出来\n\n你从公主口中得知了一个更大的阴谋,你可以进入凋零世界\n\n");system("color 8C");}
return 1; //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
}
else
{
int s=SuiJi();if((guai.attack+s-player.defense/3)<0)
{
player.health-=1;
printf("%s反击,你的HP减少了 1\n\n",guai.name);system("color 8C");
}
else
{
player.health-=guai.attack+s-player.defense/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);system("color 8C");
}
if(player.health<0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);system("color CC");
money-=player.level*500;
player.health=player.max_health/5;
OrdinaryAct();//
return 1;
}
}
return 0;
}
void AddWupin(int wupin_sign)
{switch(wupin_sign)
{
case 1:
fang4n++;
break;
case 2:
fang3n++;
break;
case 3:
fang2n++;
break;
case 4:
strongman_arm++;
break;
case 5:
gong4n++;
break;
case 6:
gong3n++;
break;
case 7:
gong2n++;
break;
case 8:
gong5n++;
break;
case 9:
fang5n++;
break;
case 10:
diaolingxin++;
break;
case 11:
fang6n++;
break;
case 12:
gong6n++;
break;
case 13:
gong7n++;
break;
case 14:
fang7n++;
break;
default:
printf("AddWupin error\n\n\n");
}}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/150;
int l2=player.range_exp/375;
int l3=player.range_exp/750;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);system("color 8E");
player.exp=(player.exp+guai.exp) || player.exp-((player.exp+guai.exp) || player.exp)%100;
player.attack+=3*l1;
player.defense+=2*l1;
player.max_health+=20*l1;
player.health=player.max_health;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l2;
player.defense+=2*l2;
player.max_health+=20*l2;
player.health=player.max_health;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l3;
player.defense+=2*l3;
player.max_health+=20*l3;
player.health=player.max_health;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
void OrdinaryAct() //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
{while(1)
{
// \(1000);
// system("cls");
puts("=============================================================================");system("color 89");
printf("要做什么?\n\n\n 1,移动 2,道具 3,对话 4,查看状态 5,装备 6,关于游戏 7,打开后台 0,退出游戏\n\n\n");system("color 89");
puts("=============================================================================");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1: //显示移动菜单
printf("要去哪里?\n\n\n");system("color 89");
printf("1,小郑子酒吧 2,诺亚方舟酒店 3,北朝商会 4,红玉拍卖行 5,冒险荒野\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:
place_sign=place.hotel; //进入旅店
printf("金币:%d",money);system("color 89");
printf("要开房吗? 200个金币 1,是 0,否\n\n\n");system("color 89");
choose_number=1;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(money-200<=0) //判断钱是否够
{
printf("Sorry,你的钱不够~\n\n\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
else
{
printf("好好休息\nHP满\n第二天了\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
money-=200; //花费200住店费
player.health=player.max_health; //体力满
}
break;
case 0:
printf("下次再来!\n\n\n");system("color 89");
break;
default:
printf("hotel talk error!\n\n\n");system("color 89");
}
place_sign=0;
break;
case 3:
int yongju,gong,fang;
printf("请问您要购买什么类型的物品?\n\n\n 1,攻击装备 2,防御装备 3,一次性伤害武器\n\n\n");system("color 89");
scanf("%d",&yongju);
switch(yongju)
{
case 1:
printf("请问您要购买什么武器?\n\n\n 1,匕首¥300 2,西洋剑¥500 3,碧血战锤¥1000\n\n\n");system("color 89");
scanf("%d",&gong);
switch(gong)
{
case 1:
if(money>=300)
{
gong1n++;
money=money-300;
printf ("匕首+1\n");system("color 89");
printf("匕首:%d个\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 2:
if(money>=500)
{
gong2n++;
money=money-500;
printf ("西洋剑+1\n");system("color 89");
printf("西洋剑:%d个\n",gong2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 3:
if(money>=1000)
{
gong3n++;
money=money-1000;
printf ("碧血战锤+1\n");system("color 89");
printf("碧血战锤:%d个\n",gong3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
default:
printf("对不起,我们只会打造以上武器。");system("color 89");
break;}
break;
case 2:
int fang;
printf("请问您要购买什么防具?\n\n\n 1,布衣¥300 2,铁甲¥500 3,重甲¥1000\n\n\n");system("color 89");
scanf("%d",&fang);
switch(fang)
{
case 1:
if(money>=300)
{
fang1n++;
money=money-300;
printf ("布衣+1\n");system("color 89");
printf("布衣:%d个\n",fang1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
case 2:
if(money>=500)
{
fang2n++;
money=money-500;
printf ("铁甲+1\n");system("color 89");
printf("铁甲:%d个\n",fang2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 3:
if(money>=1000)
{
fang3n++;
money=money-1000;
printf ("重甲+1\n");system("color 89");
printf("重甲:%d个\n",fang3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
default:
printf("对不起,我们只会打造以上防具。");system("color 89");
break;}
printf("金币:%d\n",money);system("color 89");
break;
case 3:
printf("请问您要购买什么一次性伤害武器?\n 1,手雷 2,毒镖 3,手抛式原子弹\n\n\n");system("color 89");
int yi;
scanf("%d",&yi);
switch(yi)
{
case 1:
if(money>=300 && boom<5)
{
boom++;
money=money-300;
printf("手雷+1\n");system("color 89");
printf("手雷:%d\n",boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 2:
if(money>=600 && dubiao<9999999)
{
dubiao++;
money=money-600;
printf("毒镖+1\n");system("color 89");
printf("毒镖:%d\n",dubiao);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
break;
case 3:
if(money>=1000 && atom_boom<5)
{
atom_boom=atom_boom+1;
money=money-1000;
printf("手抛式原子弹+1\n");system("color 89");
printf("手抛式原子弹:%d\n",atom_boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
}
}
break;
case 4:
printf ("欢迎您光临本拍卖行,请问您要卖什么东西?\n\n");system("color 89");
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%n 4,碧血战锤:%d个 5,蜘蛛毒剑:%n个 6,尚方宝剑:%d个 7,皮卡大剑:%d个\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个 15,巨龙晶石:%d个\n 0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n,strongman_arm);system("color 89");
int pai,shu,i;
scanf("%d",&pai);system("color 89");
switch(pai)
{
case 1:
printf("请问您要出售几件?");system("color 89");
scanf("%d",&shu);
if(gong1n>=shu)
{
gong1n=gong1n-shu;
money=money+shu*240;
printf("匕首:%d\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("装备数不够,无法出售!\n");system("color 89");
break;
}
break;
case 2:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong2n>=shu)
{
gong2n=gong2n-shu;
money=money+shu*400;
printf("西洋剑:%d\n",gong2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 3:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong7n>=shu)
{
gong7n=gong7n-shu;
money=money+shu*800;
printf("粗制石剑:%d\n",gong7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 4:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong3n>=shu)
{
gong3n=gong3n-shu;
money=money+shu*800;
printf("碧血战锤:%d\n",gong3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 5:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong6n>=shu)
{
gong6n=gong6n-shu;
money=money+shu*1000;
printf("蜘蛛毒剑:%d\n",gong6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 6:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong4n>=shu)
{
gong4n=gong4n-shu;
money=money+shu*1500;
printf("尚方宝剑:%d\n",gong4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 7:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong5n>=shu)
{
gong5n=gong5n-shu;
money=money+shu*3000;
printf("皮卡大剑:%d\n",gong5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 8:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang1n>=shu)
{
fang1n=fang1n-shu;
money=money+shu*240;
printf("布衣:%d\n",fang1n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 9:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang2n>=shu)
{
fang2n=fang2n-shu;
money=money+shu*500;
printf("铁甲:%d\n",fang2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 10:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang7n>=shu)
{
fang7n=fang7n-shu;
money=money+shu*1000;
printf("战斗马甲:%d\n",fang7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 11:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang3n>=shu)
{
fang3n=fang3n-shu;
money=money+shu*800;
printf("重甲:%d\n",fang3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
break;
case 12:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang6n>=shu)
{
fang6n=fang6n-shu;
money=money+shu*2000;
printf("石凯甲:%d\n",fang6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 13:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang4n>=shu)
{
fang4n=fang4n-shu;
money=money+shu*1500;
printf("传说圣甲:%d\n",fang4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}case 14:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang5n>=shu)
{
fang5n=fang5n-shu;
money=money+shu*3000;
printf("万龙甲:%d\n",fang5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 15:
printf("请问您要出售几颗?");
scanf("%d",&shu);
if(strongman_arm>=shu)
{
strongman_arm=strongman_arm-shu;
money=money+shu*4000;
printf("巨龙晶石:%d\n",strongman_arm);
printf("金币:%d\n",money);
}
else
{
printf("晶石数不够,无法出售!\n");
break;
}
break;
case 0:
break;
break;
default:
printf("没有该装备,无法出售!\n");
break;
}break;
case 5:
int yewai;
while(1)
{
puts("=============================================================================");
printf("要去哪冒险呢?");
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★★★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★★\n\n 5,炽热炎洞 危险程度:★★★★★\n\n 6,皮卡营地 危险程度★★★★★★\n\n 7,花朵宫殿 危险程度:★★★★★★\n\n 8,五千龙穴 危险程度:★★★★★★★\n\n 9,凋零宇宙 危险程度:★★★★★★★★\n\n0,离开\n");system("color 8c");
puts("=============================================================================");
scanf("%d",&yewai);
switch(yewai)
{
case 1:
place_sign=place.forest1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
//不用调用OAct函数,会自动执行OAct函数;
}
break;
case 3:
place_sign=place.forest2;
s=SuiJi();
if(s<4)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
battle=1;
guai=zhizhu;
printf("可怕的%s爬了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 5:
place_sign=place.forest3;
s=SuiJi();
if(s<=3){
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
} else if(s<8){
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=zhizhu;
printf("可怕的%s扑爬了过来!\n\n\n",guai.name);
BattleAct();
} 
break;
case 2:
place_sign=place.grass1;
s=SuiJi();
if(s<=3){
battle=1;
guai=bee;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else if(s<8){
battle=1;
guai=ymr;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 4:
place_sign=place.grass2;
s=SuiJi();
if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7){
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();}
else{
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 6:
s=SuiJi();
if(s<7){
battle=1; 
guai=pika;
printf("你感到了强烈的电流涌入全身,%s走了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9){
battle=1;
guai=dapika;
printf("天空一声巨响,三道闪电劈到%s的身上,%s手持雷霆之刃冲了过来!\n\n\n",guai.name,guai.name);
BattleAct();
}
else{
printf("这里安全\n\n\n");
}
break;
case 8:
s=SuiJi();
if(s<=3)
{
battle=1; 
guai=cl;
printf("一条长龙横卧洞内,你定睛一看,是%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=8 && s>=4)
{
battle=1; 
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else {
battle=1;
guai=jl;
printf("一条金光闪闪的长龙盘旋空中,你定睛一看,是传说中的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 7:
place_sign=place.grass3;
s=SuiJi();
if(s<5)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
if(strongman_arm>=1)
{
printf("神秘老人:\n\n\n 哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!巨龙晶石我要了,公主你也别想带走!\n\n\n");
guai=shitu;
printf("瞬间,你被一团黑雾笼罩,你被拉入了凋零幻境,%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else printf("神秘老人:\n\n\n 年轻人,你好啊.如果你有巨龙晶石,我可以告诉你公主的下落哦~\n\n\n");
}
else
{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 9:
s=SuiJi();
if(diaolingxin!=0){
if(s==1)
{
battle=1; 
guai=dlfb;
printf("一个巨大的黑暗物体,周围环绕着大量的由破碎方块组成的黑色颗粒云环的%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else if(s<=2 && s<=4)
{
battle=1; 
guai=dlkl;
printf("手持凋零剑的黑色凶恶%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=5&&s>=7){
battle=1;
guai=gst;
printf("一个巨大的触手向你打来,你挡了下来%s扑了过来!\n\n\n",guai.name);
BattleAct();
} else{
battle=1;
guai=dljs;
printf("一只巨大的猛兽%s冲了过来!\n\n\n",guai.name);
BattleAct();
}
}if(diaolingxin==0){
cout<<"你没有凋零之心,需要击败凋零巨兽" <<endl;
}
break;
if(yewai!=0)
{
printf("该区域为未知区域,无法进入。\n\n\n");system("color 89");
break;
}
}
if(yewai==0)
{
break;
printf("已离开荒野。");system("color 89");
}
}}
break;case 2:
ChooseWupin();
break; //显示道具,并可以使用.
case 3: //对话选项
if(place_sign==place.bar)
{
printf("要和谁说话?\n\n\n1,红发女郎 2,赏金猎人 3,酒吧老板 4,药品商人\n\n\n"); system("color 89");//显示对话人物
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
printf("红发女郎:\n\n\n 吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");system("color 89");
break;
case 2:
if(fang1n<1&&gong1n<1)
{
printf("赏金猎人:\n\n\n 你要救公主啊!好胆量!\n\n\n 不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");system("color 89");
printf("%s心想:哇,这位大叔人真好啊!\n\n\n)",player.name);
gong1n++;
fang1n++;
}
else printf("赏金猎人:\n\n\n 加油吧,年轻人!\n\n\n 不要被外面世界所吓倒!\n\n\n");system("color 89");
break;
case 3:
printf("要喝点什么?\n\n\n 1,二锅头25金币 HP+20 2,伏特加80金币 HP+50 3,人头马面150金币 HP+100 0,返回\n\n\n");system("color 89");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(money<25){
printf("钱不够!");system("color 89");
}
else
{
if(player.health+20<=player.max_health){
printf("HP+20.");system("color 89");
money-=25;
player.health+=20;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 2:
if(money<80){
printf("钱不够!");system("color 89");
}
else{
if(player.health+50<=player.max_health){
printf("HP+50.");system("color 89");
money-=80;
player.health+=50;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 3:
if(money<150){
printf("钱不够!");system("color 89");
}
else{
if(player.health+100<=player.max_health){
printf("HP+100.");system("color 89");
money-=150;
player.health+=100;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 0:
printf("下次再来!\n");system("color 89");
break;
default:
printf("输入错误\n\n\n");system("color 89");
break;
}
break;
}
break;
case 4:
printf("你要干什么?\n\n\n 1,买东西 2,聊天 \n\n\n");system("color 89");
int mai;
scanf("%d",&mai);
if(mai==1){
printf("买点什么呢?\n1,止血草¥100 HP+60\n2,急救包¥150 HP+80 \n3,云南白药¥250 HP+120\n4,超级云南白药¥400 HP+200 \n5,经验草¥150 经验+300 \n6,经验包¥600 经验+600\n7,经验石¥500 经验+1000 \n0,拜拜\n");system("color 89");
int dongxi;
scanf("%d",&dongxi);
switch(dongxi){
case 1:
if(money>=100&&cao<6){
cao++;
money=money-100;
printf ("止血草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 2:
if(money>=150&&jijiubao<10){
jijiubao++;
money=money-150;
printf ("急救包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 3:
if(money>=250&&baiyao<10){
baiyao++;
money=money-250;
printf ("云南白药+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 4:
if(money>=400&&superbaiyao<10){
superbaiyao++;
money=money-400;
printf ("超级云南白药+1\n");system("color 89");}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 5:
if(money>=150){
jingyancao++;
money=money-150;
printf ("经验草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 6:
if(money>=300){
jingyanbao++;
money=money-300;
printf ("经验包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 7:
if(money>=500){
jingyanshi++;
money=money-500;
printf ("经验石+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
}
case 0:
printf("金币:%d\n",money);system("color 89");
printf("再见,欢迎下次再来!\n");system("color 89");
break;}
if(mai==2){
printf("药品商人:去去去,老子没时间陪你聊。\n");system("color 89");
}
}
}
else if(place_sign==place.hotel)
printf("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
else printf("这里好像没人可以聊天\n\n\n");system("color 89");
break;
case 4:
DisplayState();
break; //显示状态
case 5: //装备
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%d个 4,碧血战锤:%d个 5,蜘蛛毒剑:%d个 6,尚方宝剑:%d个 7,雷霆之刃:%d个\n\n\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,万龙甲:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n);system("color 89");
printf("选择要装备的武器或防具:\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(gong1n>=1){
printf("拿起了匕首\n\n\n");system("color 89");
gong=gong1;
strcpy(gongname,"匕首");system("color 89");
}
else printf("你没有匕首可以装备\n\n\n");system("color 89");
break;
case 2:
if(gong2n>=1){
printf("拿起了西洋剑\n\n\n");system("color 89");
gong=gong2;
strcpy(gongname,"西洋剑");system("color 89");
}
else printf("你没有西洋剑可以装备\n\n\n");system("color 89");
break;
case 3:
if(gong7n>=1){
printf("拿起了粗制石剑\n\n\n");
gong=gong7;
strcpy(gongname,"粗制石剑");
}
else printf("你没有粗制石剑可以装备\n\n\n");
break;
case 4:
if(gong3n>=1){
printf("拿起了碧血战锤\n\n\n");
gong=gong3;
strcpy(gongname,"碧血战锤");
}
else printf("你没有碧血战锤可以装备\n\n\n");
break;
case 5:
if(gong6n>=1){
printf("拿起了蜘蛛毒剑\n\n\n");
gong=gong6;
strcpy(gongname,"蜘蛛毒剑");
}
else printf("你没有蜘蛛毒剑可以装备\n\n\n");
break;
case 6:
if(gong4n>=1){
printf("拿起了尚方宝剑\n\n\n");
gong=gong4;
strcpy(gongname,"尚方宝剑");
}
else printf("你没有尚方宝剑可以装备\n\n\n");
break;
case 7:
if(gong5n>=1){
printf("拿起了雷霆之刃\n\n\n");
gong=gong5;
strcpy(gongname,"雷霆之刃");
}
else printf("你没有雷霆之刃可以装备\n\n\n");
break;
case 8:
if(fang1n>=1){
printf("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else printf("你没有布衣可以装备\n\n\n");
break;
case 9:
if(fang2n>=1){
printf("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else printf("你没有铁甲可以装备\n\n\n");
break;
case 10:
if(fang7n>=1){
printf("穿上了战斗马甲\n\n\n");
fang=fang7;
strcpy(fangname,"战斗马甲");
}
else printf("你没有战斗马甲可以装备\n\n\n");
break;
case 11:
if(fang3n>=1){
printf("穿上了重甲\n\n\n");
fang=fang3;
strcpy(fangname,"重甲");
}
else printf("你没有重甲可以装备\n\n\n");
break;
case 12:
if(fang6n>=1){
printf("穿上了石铠甲\n\n\n");
fang=fang6;
strcpy(fangname,"石凯甲");
}
else printf("你没有石凯甲可以装备\n\n\n");
break;
case 13:
if(fang4n>=1){
printf("穿上了传说圣甲\n\n\n");
fang=fang4;
strcpy(fangname,"传说圣甲");
}
else printf("你没有传说圣甲可以装备\n\n\n");
break;
case 14:
if(fang5n>=1){
printf("穿上了万龙甲\n\n\n");
fang=fang5;
strcpy(fangname,"万龙甲");
}
else printf("你没有万龙甲可以装备\n\n\n");
break; 
case 0:
printf("未更换装备\n\n\n");
break;
default:
printf("change error!");
}
break;
case 6:
printf(" 您好,欢迎您玩苍穹世界(斗破苍穹)。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty ”(不包括双引号)。由于2.10.2版本巨龙晶石的buy,我们在2.10.2的基础上进行修改,已修复该buy。并且修改了巨龙晶石的升级上限,希望大家喜欢。在这里要感谢吴昊同学,他给了我们许多宝贵的建议,谢谢。\n");system("color 89");
break;
case 0:
printf("确定退出游戏?(Y/N)\n\n\n");system("color 89");
getchar();
proof=getchar();
if(proof=='y'||proof=='Y'){
printf("按回车退出");system("color 89");
getchar();
return;
}
else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
else printf("继续!\n\n\n");
break;
default:
printf("输入错误!\n\n\n");
break;
case 7:int mi;cout<<"=====*【后台管理 简称开挂 测试Bug】*=================================\n请输入管理者密码===================================*【想要后台密码就问郑桐羽,只能输数字,否则死循环】*===============\n管理密码:";cin>>mi;if(mi%20120913==0){cout<<"输入正确!\n欢迎进入后台!\n后台服务:\n=======================\n1.金币加999999\n2.血量上限加9999\n3.现有血量加9999\n4.攻击加9999\n5.防御加9999\n211.退出\n=======================\n输入>>> "<<endl;cin>>htsr;if(htsr==1){cout<<"成功获得效果 *金币加9999\n";money+=999999;}if(htsr==2){cout<<"成功获得效果 *血量加9999\n";player.health+=9999;}if(htsr==3){cout<<"成功获得效果 *血量上限加9999\n";player.max_health+=9999;}if(htsr==4){cout<<"成功获得效果 *攻击加9999\n";player.attack+=9999;}if(htsr==5){cout<<"成功获得效果 *防御加9999\n";player.defense+=9999;}if(htsr%211==0){cout<<"成功退出\n";continue;}}else{cout<<"输入错误!请检查!"<<endl;continue;}break;
}
}
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
printf("等级:%d 经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
}
void BattleAct()
{
while(1)
{
puts("=============================================================================");
printf("要怎么办?\n\n\n 1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
s=SuiJi();
printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
guai.health-=player.attack+s+gong-guai.defense/3;
if(AttackResult())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
ChooseWupin();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:
DisplayState();
break; //显示状态
case 4:
s=SuiJi();
if(s<4) //40%的概率可以逃跑
{
printf("%s逃跑了~\n\n\n",player.name);
battle=0;
return;
}
else printf("%s逃跑失败!\n\n\n",player.name);
break;
default:
printf("输入错误,重新输入!\n\n\n");
}
}
}
void printf(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
Sleep(100);
}
} 

2.10.5

#include<stdio.h>
#include<iostream>
#include<ctime>
#include<bits/stdc++.h>
#include<time.h> 
#include<windows.h> //SLEEP函数
using namespace std;
struct Player {//玩家结构体,并初始化player
char name[21];
int attack;
int defense;
int health;
long int max_health;
int level;
int exp;
int range_exp;
long int max_exp;
} player= {"勇者",100,80,200,200,1,0,0,100};
struct Enemy {//怪的结构体,并初始化各种怪
char name[20];
char wupin[20];
int attack;
int defense;
int health;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int miss;
}
//怪,拿格伦石人举例 
// 怪变量  怪名     掉落的装备 攻   防  血  金币 经验 掉落装备编号 掉落概率 真伤(被防御后的破甲伤害)   不能改 
//  gl= {"格伦石人","石铠甲",  30, 150,1000,500, 250,      11,       7,        1,                         0},gl= {"格伦石人","石铠甲",30,150,1000,500,250,11,7,1,0},zhizhu= {"洞穴蜘蛛","蜘蛛毒剑",140,20,250,400,200,12,5,1,0},ymr= {"野蛮人","粗制石剑",20,20,150,100,50,13,5,1,0},nz= {"牛仔","战斗马甲",80,20,250,500,250,14,10,1,0},strongman= {"森林巨人","传说圣甲",50,50,580,200,100,1,5,1,0},witch= {"兽人","重甲",35,55,250,50,50,2,4,1,1},xiyi= {"毒蜴","鳞甲",20,25,80,30,35,3,8,2,2},big_strongman= {"喷火龙","巨龙晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},lion= {"皇家士兵","尚方宝剑",100,30,380,200,100,5,5,1,0},horse= {"独眼巨人","碧血战锤",50,22,360,50,50,6,5,1,1},bee= {"剑客","西洋剑",27,11,60,30,35,7,5,2,2},shitu= {"凋零女巫","凋零通行证",1400,500,15000,10000,5000,15,10,1,0},dljs= {"凋零巨兽","凋零之心",1200,700,20000,10000,5000,10,7,1,0},pika= {"皮卡超人","\0",300,40*8,1000,2000,1000,0,0,1,0},dapika= {"雷霆皮卡","雷霆之刃",350,40*10,1500,3000,2000,8,6,6,0},cl= {"熔岩飞龙","\0",450,50*10,2000,3500,2500,0,0,1,0},jl= {"裂凯金龙","金龙铠",500,40*20,5000,8000,4500,9,6,6,1},gst={"凋零共生体","\0",1800,65*10,15000,0,10000,0,0,1,0},dlkl= {"凋零骷髅","\0",3000,30*10,12000,0,10000,0,0,1,0},dlfb= {".+*凋零风暴*+.","\0",9000,1500,49000,0,500000,0,0,1,0},guai= {"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,te1,te2,te3,te4;
} place= {1,2,3,4,5,6,7,8,9,10,11,12};
int max_exp=0;
int htsr;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=10;
int cao=3,jijiubao=3,baiyao=3,superbaiyao=3,miansi=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0,fang5=400,fang5n=0,fang6=150,fang6n=0,fang7=60,fang7n=0;
int gong=0,gong1=10,gong1n=0,gong2=20,gong2n=0,gong3=45,gong3n=0,gong4=100,gong4n=0,gong5=300,gong5n=0,gong6=150,gong6n=0,gong7=45,gong7n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0,htmmcs=5;
int diaolingxinhave=0,diaolingxin=0; 
char gongname[20]="无",fangname[20]="无";
char proof;
void AddWupin(int);
int AttackResult();
void BattleAct();  //      ____
void ChooseWupin();  //   /___/|
void DisplayState();  //  |   |/
void OrdinaryAct();     //▔▔
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);
int main(){
MessageBox (NULL, "欢迎来到斗破苍穹 2.10.5 正式版 !", "斗破苍穹 2.10.5 游戏开始提示", MB_OK);
int i=0,j=0,k=0;
char player_name[21];
Sleep(1000);
printf("                            _________________________________                    ");system("color 89");
printf("                          /________________________________/|                    ");system("color 89");
printf("                _.+=*^--{|欢迎来到 [斗破苍穹] 2.10.5 正式版|}--^*=+.              ");system("color 89");
printf("                          ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔                      \n");system("color 89");
//如果想使用外挂,名字请输入:“zty ”。
Sleep(1000);
printf("这里是斗破苍穹(苍穹世界)! 契晋赫苟国的漓嘉茜公主被神秘人绑架了!\n\n\n 伟大的勇者啊~拿起你的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");system("color 89");
scanf("%s",player_name);
strncpy(player.name,player_name,20);
if(strcmp(player.name,"zty")==0){printf("\n\n\n封印多年的zty族血统啊!你终于觉醒了!\n\n\nzty,你成为了天选之人,请你救出公主吧!\n\n\n");player.attack=99999;player.defense=99999;player.health=999999;player.max_health=999999;
}
getchar();
OrdinaryAct();
return 0;
}
int SuiJi(){
srand((unsigned)time(NULL));
return rand()%10;
}
int SuiJi100(){
srand((unsigned)time(NULL));
return rand()%100;
}
void ChooseWupin(){//选择物品 并使用
printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨龙晶石%d个 12,免死金牌%d个 13,凋零之心%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm,miansi,diaolingxin);system("color 8A");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(cao>0){
printf("使用止血草,HP增加120\n\n\n");system("color 8A");
cao--;
if(player.health+120>player.max_health)player.health=player.max_health;
else player.health+=120;
}
else printf("没有止血草了\n\n\n");system("color 8A");
break;
case 2:
if(jijiubao>0){
printf("使用急救包,HP增加180\n\n\n");system("color 8A");
jijiubao--;
if(player.health+180>player.max_health)player.health=player.max_health;
else player.health+=180;
}
else printf("没有急救包了\n\n\n");system("color 8A");
break;
case 3:
if(baiyao>0){
printf("使用云南白药,HP增加240\nz\n\n");system("color 8A");
baiyao--;
if(player.health+240>player.max_health)player.health=player.max_health;
else player.health+=240;
}
else printf("没有云南白药了\n\n\n");system("color 8A");
break;
case 4:
if(superbaiyao>0){
printf("使用超级云南白药,HP增加400\n\n\n");system("color 8A");
superbaiyao--;
if(player.health+400>player.max_health)player.health=player.max_health;
else player.health+=400;
}
else printf("没有超级云南白药了\n\n\n");system("color 8A");
break;
case 5:
if(battle){//在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
if(boom>0){
printf("使用手雷,敌人HP减少100\n\n\n");system("color 84");
boom--;
guai.health-=100;
AttackResult();
}
}
else printf("非战斗状态,不能使用手雷!\n\n\n");system("color 84");
break;
case 6:
if(battle){ //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
if(dubiao>0){
printf("使用毒标,敌人HP减少200\n\n\n");system("color 84");
dubiao--;
guai.health-=200;
AttackResult();
}
}
else printf("非战斗状态,不能使用毒标!\n\n\n");system("color 84");
break;
case 7:
if(battle){ //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
if(atom_boom>0){
printf("使用手抛式原子弹,敌人HP减少1500\n\n\n");system("color 84");
atom_boom--;
guai.health-=1500;
AttackResult();
}
}
else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");system("color 84");
break;
case 8:
if(jingyancao>0 && player.level<200){
printf("使用经验草,等级增加3级\n\n\n");system("color 8E");
jingyancao--;
player.max_health=player.max_health+60; 
player.attack+=9;
player.defense+=6;
player.level+=3;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
else    if(jingyancao<1){
printf("没有经验草了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 9:
if(jingyanbao>0 && player.level<200){
if(player.level>197&&player.level<200){
int sheng;
sheng=100-player.level;
player.level+=sheng;
jingyanbao--;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验包,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else{
printf("使用经验包,等级增加5级\n\n\n");system("color 8E");
jingyanbao--;
player.max_health=player.max_health+100; 
player.attack+=15;
player.defense+=10;
player.level+=5;
player.health=player.max_health;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(jingyanbao<1){
printf("没有经验包了");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 10:
if(jingyanshi>0 && player.level<200){
if(player.level>192&&player.level<200){
int sheng;
sheng=100-player.level;
player.level+=sheng;
player.max_health+=sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用经验石,等级增加%d级\n",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else{
printf("使用经验石,等级增加10级\n");system("color 8E");
jingyanshi--;
player.max_health=player.max_health+200; 
player.attack+=30;
player.defense+=20;
player.level+=10;
player.health=player.max_health;
}
}
else if(jingyanshi<1)
{
printf("没有经验石了\n\n\n");system("color 8E");
}
else printf("等级超过200级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 11:
if(strongman_arm>0 && player.level<200)
{
if(player.level>482&&player.level<500)
{
int sheng;
sheng=500-player.level;
player.level+=sheng;
player.max_health=player.max_health+sheng*20; 
player.attack+=sheng*3;
player.defense+=sheng*2;
player.health=player.max_health;
printf("使用巨龙晶石,等级增加%d级",sheng);system("color 8E");
printf("等级:%d\n",player.level);system("color 8E");
}
else
{
printf("使用巨龙晶石,等级增加20级\n\n\n");system("color 8E");
strongman_arm--;
player.max_health=player.max_health+400; 
player.attack+=60;
player.defense+=40;
player.health=player.max_health;
player.level+=20;
printf("等级:%d\n",player.level);system("color 8E");
}
}
else if(strongman_arm<1)
{
printf("没有巨龙晶石了。\n\n\n");system("color 8E");
}
else printf("等级超过500级,修为太高,无法使用。\n\n\n");system("color 8E");
break;
case 12:
if(miansi>0)
{
printf("使用免死金牌,HP满\n\n\n");system("color 8b");
miansi--;
if(player.health+999999>player.max_health)player.health=player.max_health;
else player.health+=999999;
}else printf("没有免死金牌了\n\n\n"); system("color 8b");break;
break;
case 13:
if(diaolingxin>0)
{
printf("使用凋零之心\nHP上限+100  攻击+100\n\n\n");system("color 8b");
diaolingxin--;
player.max_health+=100;
player.attack+=100; 
}else printf("没有凋零之心了\n\n\n"); system("color 8b");break;
case 0:
break;
default:
printf("ChooseWupin error!\n\n\n");
}
}
int AttackResult() //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
if(guai.health<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);system("color 8C");
player.exp+=guai.exp;
player.range_exp+=guai.exp;
money+=guai.money;
s=SuiJi();
if(s<guai.wupinpro)
{
printf("从敌人尸骸中发现");system("color 8C");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
}
WhetherLevelUp();
if(strcmp(guai.name,"*凋零巨兽*")==0)
{
printf("你把公主救了出来\n\n你从公主口中得知了一个更大的阴谋,你可以进入凋零世界\n\n");system("color 8C");}
return 1; //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
}
else
{
int s=SuiJi();if((guai.attack+s-player.defense/3)<0)
{
player.health-=1;
printf("%s反击,你的HP减少了 1\n\n",guai.name);system("color 8C");
}
else
{
player.health-=guai.attack+s-player.defense/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);system("color 8C");
}
if(player.health<0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);system("color CC");
money-=player.level*500;
player.health=player.max_health/5;
OrdinaryAct();//
return 1;
}
}
return 0;
}
void AddWupin(int wupin_sign)
{switch(wupin_sign)
{
case 1:
fang4n++;
break;
case 2:
fang3n++;
break;
case 3:
fang2n++;
break;
case 4:
strongman_arm++;
break;
case 5:
gong4n++;
break;
case 6:
gong3n++;
break;
case 7:
gong2n++;
break;
case 8:
gong5n++;
break;
case 9:
fang5n++;
break;
case 10:
diaolingxin++;
break;
case 11:
fang6n++;
break;
case 12:
gong6n++;
break;
case 13:
gong7n++;
break;
case 14:
fang7n++;
break;
case 15:
diaolingxinhave++;
break;
default:
printf("AddWupin error\n\n\n");
}}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/150;
int l2=player.range_exp/375;
int l3=player.range_exp/750;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);system("color 8E");
player.exp=(player.exp+guai.exp) || player.exp-((player.exp+guai.exp) || player.exp)%100;
player.attack+=3*l1;
player.defense+=2*l1;
player.max_health+=20*l1;
player.health=player.max_health;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);system("color 8E");
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l2;
player.defense+=2*l2;
player.max_health+=20*l2;
player.health=player.max_health;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",player.name);
printf(" 升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3;
player.defense+=2;
player.max_health+=20;
player.health=player.max_health;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);system("color 8E");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.attack+=3*l3;
player.defense+=2*l3;
player.max_health+=20*l3;
player.health=player.max_health;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
void OrdinaryAct() //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
{while(1)
{
// \(1000);
// system("cls");
puts("=============================================================================");system("color 89");
printf("要做什么?\n\n\n 1,移动 2,道具 3,对话 4,查看状态 5,装备 6,关于游戏 7,打开后台 0,退出游戏\n\n\n");system("color 89");
puts("=============================================================================");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1: //显示移动菜单
printf("要去哪里?\n\n\n");system("color 89");
printf("1,小郑子酒吧 2,诺亚方舟酒店 3,北朝商会 4,红玉拍卖行 5,冒险荒野\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:
place_sign=place.hotel; //进入旅店
printf("金币:%d",money);system("color 89");
printf("要开房吗? 200个金币 1,是 0,否\n\n\n");system("color 89");
choose_number=1;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(money-200<=0) //判断钱是否够
{
printf("Sorry,你的钱不够~\n\n\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
else
{
printf("好好休息\nHP满\n第二天了\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
money-=200; //花费200住店费
player.health=player.max_health; //体力满
}
break;
case 0:
printf("下次再来!\n\n\n");system("color 89");
break;
default:
printf("hotel talk error!\n\n\n");system("color 89");
}
place_sign=0;
break;
case 3:
int yongju,gong,fang;
printf("请问您要购买什么类型的物品?\n\n\n 1,攻击装备 2,防御装备 3,一次性伤害武器\n\n\n");system("color 89");
scanf("%d",&yongju);
switch(yongju)
{
case 1:
printf("请问您要购买什么武器?\n\n\n 1,匕首¥300 2,西洋剑¥500 3,碧血战锤¥1000\n\n\n");system("color 89");
scanf("%d",&gong);
switch(gong)
{
case 1:
if(money>=300)
{
gong1n++;
money=money-300;
printf ("匕首+1\n");system("color 89");
printf("匕首:%d个\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 2:
if(money>=500)
{
gong2n++;
money=money-500;
printf ("西洋剑+1\n");system("color 89");
printf("西洋剑:%d个\n",gong2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
case 3:
if(money>=1000)
{
gong3n++;
money=money-1000;
printf ("碧血战锤+1\n");system("color 89");
printf("碧血战锤:%d个\n",gong3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
default:
printf("对不起,我们只会打造以上武器。");system("color 89");
break;}
break;
case 2:
int fang;
printf("请问您要购买什么防具?\n\n\n 1,布衣¥300 2,铁甲¥500 3,重甲¥1000\n\n\n");system("color 89");
scanf("%d",&fang);
switch(fang)
{
case 1:
if(money>=300)
{
fang1n++;
money=money-300;
printf ("布衣+1\n");system("color 89");
printf("布衣:%d个\n",fang1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
case 2:
if(money>=500)
{
fang2n++;
money=money-500;
printf ("铁甲+1\n");system("color 89");
printf("铁甲:%d个\n",fang2n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 3:
if(money>=1000)
{
fang3n++;
money=money-1000;
printf ("重甲+1\n");system("color 89");
printf("重甲:%d个\n",fang3n);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
default:
printf("对不起,我们只会打造以上防具。");system("color 89");
break;}
printf("金币:%d\n",money);system("color 89");
break;
case 3:
printf("请问您要购买什么一次性伤害武器?\n 1,手雷 2,毒镖 3,手抛式原子弹\n\n\n");system("color 89");
int yi;
scanf("%d",&yi);
switch(yi)
{
case 1:
if(money>=300 && boom<5)
{
boom++;
money=money-300;
printf("手雷+1\n");system("color 89");
printf("手雷:%d\n",boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d",money);system("color 89");
}
break;
case 2:
if(money>=600 && dubiao<9999999)
{
dubiao++;
money=money-600;
printf("毒镖+1\n");system("color 89");
printf("毒镖:%d\n",dubiao);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}
break;
case 3:
if(money>=1000 && atom_boom<5)
{
atom_boom=atom_boom+1;
money=money-1000;
printf("手抛式原子弹+1\n");system("color 89");
printf("手抛式原子弹:%d\n",atom_boom);system("color 89");
printf("金币:%d\n",money);system("color 89");
}
else
{
printf("钱不够!\n\n\n");system("color 89");
printf("金币:%d\n",money);system("color 89");
}break;
}
}
break;
case 4:
printf ("欢迎您光临本拍卖行,请问您要卖什么东西?\n\n");system("color 89");
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%n 4,碧血战锤:%d个 5,蜘蛛毒剑:%n个 6,尚方宝剑:%d个 7,皮卡大剑:%d个\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,金龙铠:%d个 15,巨龙晶石:%d个\n 0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n,strongman_arm);system("color 89");
int pai,shu,i;
scanf("%d",&pai);system("color 89");
switch(pai)
{
case 1:
printf("请问您要出售几件?");system("color 89");
scanf("%d",&shu);
if(gong1n>=shu)
{
gong1n=gong1n-shu;
money=money+shu*240;
printf("匕首:%d\n",gong1n);system("color 89");
printf("金币:%d\n",money);system("color 89");
break;
}
else
{
printf("装备数不够,无法出售!\n");system("color 89");
break;
}
break;
case 2:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong2n>=shu)
{
gong2n=gong2n-shu;
money=money+shu*400;
printf("西洋剑:%d\n",gong2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 3:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong7n>=shu)
{
gong7n=gong7n-shu;
money=money+shu*800;
printf("粗制石剑:%d\n",gong7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 4:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong3n>=shu)
{
gong3n=gong3n-shu;
money=money+shu*800;
printf("碧血战锤:%d\n",gong3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 5:
printf("请问您要出售几件?\n");system("color 89");
scanf("%d",&shu);
if(gong6n>=shu)
{
gong6n=gong6n-shu;
money=money+shu*1000;
printf("蜘蛛毒剑:%d\n",gong6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 6:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong4n>=shu)
{
gong4n=gong4n-shu;
money=money+shu*1500;
printf("尚方宝剑:%d\n",gong4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 7:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(gong5n>=shu)
{
gong5n=gong5n-shu;
money=money+shu*3000;
printf("皮卡大剑:%d\n",gong5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 8:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang1n>=shu)
{
fang1n=fang1n-shu;
money=money+shu*240;
printf("布衣:%d\n",fang1n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 9:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang2n>=shu)
{
fang2n=fang2n-shu;
money=money+shu*500;
printf("铁甲:%d\n",fang2n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 10:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang7n>=shu)
{
fang7n=fang7n-shu;
money=money+shu*1000;
printf("战斗马甲:%d\n",fang7n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 11:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang3n>=shu)
{
fang3n=fang3n-shu;
money=money+shu*800;
printf("重甲:%d\n",fang3n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
break;
case 12:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang6n>=shu)
{
fang6n=fang6n-shu;
money=money+shu*2000;
printf("石凯甲:%d\n",fang6n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 13:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang4n>=shu)
{
fang4n=fang4n-shu;
money=money+shu*1500;
printf("传说圣甲:%d\n",fang4n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}case 14:
printf("请问您要出售几件?\n");
scanf("%d",&shu);
if(fang5n>=shu)
{
fang5n=fang5n-shu;
money=money+shu*3000;
printf("金龙铠:%d\n",fang5n);
printf("金币:%d\n",money);
break;
}
else
{
printf("装备数不够,无法出售!\n");
break;
}
case 15:
printf("请问您要出售几颗?");
scanf("%d",&shu);
if(strongman_arm>=shu)
{
strongman_arm=strongman_arm-shu;
money=money+shu*4000;
printf("巨龙晶石:%d\n",strongman_arm);
printf("金币:%d\n",money);
}
else
{
printf("晶石数不够,无法出售!\n");
break;
}
break;
case 0:
break;
break;
default:
printf("没有该装备,无法出售!\n");
break;
}break;
case 5:
int yewai;
while(1)
{
puts("=============================================================================");
printf("要去哪冒险呢?");
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★★★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★★\n\n 5,炽热炎洞 危险程度:★★★★★\n\n 6,皮卡营地 危险程度★★★★★★\n\n 7,花朵宫殿 危险程度:★★★★★★\n\n 8,熔岩龙穴 危险程度:★★★★★★★\n\n 9,凋零宇宙 危险程度:★★★★★★★★\n\n0,离开\n");system("color 8c");
puts("=============================================================================");
scanf("%d",&yewai);
switch(yewai)
{
case 1:
place_sign=place.forest1;
s=SuiJi();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
printf("这里安全\n\n\n");
//不用调用OAct函数,会自动执行OAct函数;
}
break;
case 3:
place_sign=place.forest2;
s=SuiJi();
if(s<4)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else
{
battle=1;
guai=zhizhu;
printf("可怕的%s爬了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 5:
place_sign=place.forest3;
s=SuiJi();
if(s<=3){
battle=1;
guai=strongman;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
} else if(s<8){
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=zhizhu;
printf("可怕的%s扑爬了过来!\n\n\n",guai.name);
BattleAct();
} 
break;
case 2:
place_sign=place.grass1;
s=SuiJi();
if(s<=3){
battle=1;
guai=bee;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else if(s<8){
battle=1;
guai=ymr;
printf("横冲直撞的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}else{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 4:
place_sign=place.grass2;
s=SuiJi();
if(s<5){
battle=1;
guai=horse;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<7){
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();}
else{
battle=1;
guai=gl;
printf("全身长满矿石的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 6:
s=SuiJi();
if(s<7){
battle=1; 
guai=pika;
printf("你感到了强烈的电流涌入全身,%s走了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<9){
battle=1;
guai=dapika;
printf("天空一声巨响,三道闪电劈到%s的身上,%s手持雷霆之刃冲了过来!\n\n\n",guai.name,guai.name);
BattleAct();
}
else{
printf("这里安全\n\n\n");
}
break;
case 8:
s=SuiJi();
if(s<=3)
{
battle=1; 
guai=cl;
printf("一条飞龙横卧洞内,你定睛一看,是%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s<=8 && s>=4)
{
battle=1; 
guai=big_strongman;
printf("炽热的%s拍打着翅膀扑了过来!\n\n\n",guai.name);
BattleAct();
}
else {
battle=1;
guai=jl;
printf("一条金光闪闪的飞龙盘旋空中,,是传说中的%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
break;
case 7:
place_sign=place.grass3;
s=SuiJi();
if(s<5)
{
battle=1;
guai=lion;
printf("%s举着尚方宝剑拦住了你!\n\n\n",guai.name);
BattleAct();
}
else if(s<7)
{
battle=1;
if(strongman_arm>=1)
{
printf("神秘老人:\n\n\n 哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!巨龙晶石我要了,公主你也别想带走!\n\n\n");
guai=shitu;
printf("瞬间,你被一团黑雾笼罩,你被拉入了凋零幻境,%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else printf("神秘老人:\n\n\n 年轻人,你好啊.如果你有巨龙晶石,我可以告诉你公主的下落哦~\n\n\n");
}
else
{
battle=1;
guai=nz;
printf("帅气但令人讨厌的%s向你开枪!\n\n\n",guai.name);
BattleAct();
}
break;
case 9:
s=SuiJi();
if(diaolingxinhave!=0){
if(s==1)
{
battle=1; 
guai=dlfb;
printf("一个巨大的黑暗物体,周围环绕着大量的由破碎方块组成的黑色颗粒云环的%s向你发起攻击!\n\n\n",guai.name);
BattleAct();
}
else if(s>=2 && s<=4)
{
battle=1; 
guai=dlkl;
printf("手持凋零剑的黑色凶恶%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else if(s>=5&&s<=7){
battle=1;
guai=gst;
printf("一个巨大的触手向你打来,你挡了下来%s扑了过来!\n\n\n",guai.name);
BattleAct();
} else{
battle=1;
guai=dljs;
printf("一只巨大的猛兽%s冲了过来!\n\n\n",guai.name);
BattleAct();
}
}if(diaolingxin==0){
cout<<"你没有击败过凋零女巫,请去花朵宫殿击败凋零女巫。" <<endl;
}
break;
if(yewai!=0)
{
printf("该区域为未知区域,无法进入。\n\n\n");system("color 89");
break;
}
}
if(yewai==0)
{
break;
printf("已离开荒野。");system("color 89");
}
}}
break;case 2:
ChooseWupin();
break; //显示道具,并可以使用.
case 3: //对话选项
if(place_sign==place.bar)
{
printf("要和谁说话?\n\n\n1,红发女郎 2,赏金猎人 3,酒吧老板 4,药品商人\n\n\n"); system("color 89");//显示对话人物
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
printf("红发女郎:\n\n\n 吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");system("color 89");
break;
case 2:
if(fang1n<1&&gong1n<1)
{
printf("赏金猎人:\n\n\n 你要救公主啊!好胆量!\n\n\n 不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");system("color 89");
printf("%s心想:哇,这位大叔人真好啊!\n\n\n)",player.name);
gong1n++;
fang1n++;
}
else printf("赏金猎人:\n\n\n 加油吧,年轻人!\n\n\n 不要被外面世界所吓倒!\n\n\n");system("color 89");
break;
case 3:
printf("要喝点什么?\n\n\n 1,二锅头25金币 HP+20 2,伏特加80金币 HP+50 3,人头马面150金币 HP+100 0,返回\n\n\n");system("color 89");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(money<25){
printf("钱不够!");system("color 89");
}
else
{
if(player.health+20<=player.max_health){
printf("HP+20.");system("color 89");
money-=25;
player.health+=20;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 2:
if(money<80){
printf("钱不够!");system("color 89");
}
else{
if(player.health+50<=player.max_health){
printf("HP+50.");system("color 89");
money-=80;
player.health+=50;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 3:
if(money<150){
printf("钱不够!");system("color 89");
}
else{
if(player.health+100<=player.max_health){
printf("HP+100.");system("color 89");
money-=150;
player.health+=100;
}
else{
printf("HP满了");system("color 89");
player.health=player.max_health;
}
}
break;
case 0:
printf("下次再来!\n");system("color 89");
break;
default:
printf("输入错误\n\n\n");system("color 89");
break;
}
break;
}
break;
case 4:
printf("你要干什么?\n\n\n 1,买东西 2,聊天 \n\n\n");system("color 89");
int mai;
scanf("%d",&mai);
if(mai==1){
printf("买点什么呢?\n1,止血草¥100 HP+60\n2,急救包¥150 HP+80 \n3,云南白药¥250 HP+120\n4,超级云南白药¥400 HP+200 \n5,经验草¥150 经验+300 \n6,经验包¥600 经验+600\n7,经验石¥500 经验+1000 \n0,拜拜\n");system("color 89");
int dongxi;
scanf("%d",&dongxi);
switch(dongxi){
case 1:
if(money>=100&&cao<6){
cao++;
money=money-100;
printf ("止血草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 2:
if(money>=150&&jijiubao<10){
jijiubao++;
money=money-150;
printf ("急救包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 3:
if(money>=250&&baiyao<10){
baiyao++;
money=money-250;
printf ("云南白药+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 4:
if(money>=400&&superbaiyao<10){
superbaiyao++;
money=money-400;
printf ("超级云南白药+1\n");system("color 89");}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 5:
if(money>=150){
jingyancao++;
money=money-150;
printf ("经验草+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 6:
if(money>=300){
jingyanbao++;
money=money-300;
printf ("经验包+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
case 7:
if(money>=500){
jingyanshi++;
money=money-500;
printf ("经验石+1\n");system("color 89");
}
else{
printf("钱不够!\n");system("color 89");
}
break;
}
case 0:
printf("金币:%d\n",money);system("color 89");
printf("再见,欢迎下次再来!\n");system("color 89");
break;}
if(mai==2){
printf("药品商人:去去去,老子没时间陪你聊。\n");system("color 89");
}
}
}
else if(place_sign==place.hotel)
printf("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
else printf("这里好像没人可以聊天\n\n\n");system("color 89");
break;
case 4:
DisplayState();
break; //显示状态
case 5: //装备
printf("攻击装备: 1,匕首:%d个 2,西洋剑:%d个 3,粗制石剑:%d个 4,碧血战锤:%d个 5,蜘蛛毒剑:%d个 6,尚方宝剑:%d个 7,雷霆之刃:%d个\n\n\n",gong1n,gong2n,gong7n,gong3n,gong6n,gong4n,gong5n);system("color 89");
printf("防御装备: 8,布衣:%d个 9,铁甲:%d个 10,战斗马甲:%d个 11,重甲:%d个 12,石铠甲:%d个 13,传说圣甲:%d个 14,金龙铠:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang7n,fang3n,fang6n,fang4n,fang5n);system("color 89");
printf("选择要装备的武器或防具:\n\n\n");system("color 89");
switch(scanf("%d",&choose_number),choose_number){
case 1:
if(gong1n>=1){
printf("拿起了匕首\n\n\n");system("color 89");
gong=gong1;
strcpy(gongname,"匕首");system("color 89");
}
else printf("你没有匕首可以装备\n\n\n");system("color 89");
break;
case 2:
if(gong2n>=1){
printf("拿起了西洋剑\n\n\n");system("color 89");
gong=gong2;
strcpy(gongname,"西洋剑");system("color 89");
}
else printf("你没有西洋剑可以装备\n\n\n");system("color 89");
break;
case 3:
if(gong7n>=1){
printf("拿起了粗制石剑\n\n\n");
gong=gong7;
strcpy(gongname,"粗制石剑");
}
else printf("你没有粗制石剑可以装备\n\n\n");
break;
case 4:
if(gong3n>=1){
printf("拿起了碧血战锤\n\n\n");
gong=gong3;
strcpy(gongname,"碧血战锤");
}
else printf("你没有碧血战锤可以装备\n\n\n");
break;
case 5:
if(gong6n>=1){
printf("拿起了蜘蛛毒剑\n\n\n");
gong=gong6;
strcpy(gongname,"蜘蛛毒剑");
}
else printf("你没有蜘蛛毒剑可以装备\n\n\n");
break;
case 6:
if(gong4n>=1){
printf("拿起了尚方宝剑\n\n\n");
gong=gong4;
strcpy(gongname,"尚方宝剑");
}
else printf("你没有尚方宝剑可以装备\n\n\n");
break;
case 7:
if(gong5n>=1){
printf("拿起了雷霆之刃\n\n\n");
gong=gong5;
strcpy(gongname,"雷霆之刃");
}
else printf("你没有雷霆之刃可以装备\n\n\n");
break;
case 8:
if(fang1n>=1){
printf("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else printf("你没有布衣可以装备\n\n\n");
break;
case 9:
if(fang2n>=1){
printf("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else printf("你没有铁甲可以装备\n\n\n");
break;
case 10:
if(fang7n>=1){
printf("穿上了战斗马甲\n\n\n");
fang=fang7;
strcpy(fangname,"战斗马甲");
}
else printf("你没有战斗马甲可以装备\n\n\n");
break;
case 11:
if(fang3n>=1){
printf("穿上了重甲\n\n\n");
fang=fang3;
strcpy(fangname,"重甲");
}
else printf("你没有重甲可以装备\n\n\n");
break;
case 12:
if(fang6n>=1){
printf("穿上了石铠甲\n\n\n");
fang=fang6;
strcpy(fangname,"石凯甲");
}
else printf("你没有石凯甲可以装备\n\n\n");
break;
case 13:
if(fang4n>=1){
printf("穿上了传说圣甲\n\n\n");
fang=fang4;
strcpy(fangname,"传说圣甲");
}
else printf("你没有传说圣甲可以装备\n\n\n");
break;
case 14:
if(fang5n>=1){
printf("穿上了金龙铠\n\n\n");
fang=fang5;
strcpy(fangname,"金龙铠");
}
else printf("你没有金龙铠可以装备\n\n\n");
break; 
case 0:
printf("未更换装备\n\n\n");
break;
default:
printf("change error!");
}
break;
case 6:
printf(" 您好,欢迎您玩斗破苍穹(苍穹世界)。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty ”(不包括双引号)。由于2.10.4版本凋零之心和巨龙晶石剩余的buy和凋零宇宙无法刷出凋零共生体的bug,我们在2.10.4的基础上进行修改,已修复该bug。并且修改了部分怪和场景的名称,希望大家喜欢。在这里要感谢吴昊同学,他给了我许多宝贵的建议,谢谢。\n");system("color 89");
break;
case 0:
printf("确定退出游戏?(Y/N)\n\n\n");system("color 89");
getchar();
proof=getchar();
if(proof=='y'||proof=='Y'){
printf("按回车退出");system("color 89");
getchar();
return;
}
else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
else printf("继续!\n\n\n");
break;
default:
printf("输入错误!\n\n\n");
break;
case 7:int mi;cout<<"=====*【后台 开挂 测试Bug】*=================================\n请输入密码===================================*【想要后台密码问郑桐羽,只能输数字,否则死循环】*===============\n密码:";cin>>mi;if(mi%20120913==0){cout<<"输入正确!\n欢迎进入后台!\n后台服务:\n=======================\n1.金币加999999\n2.血量上限加9999\n3.现有血量加9999\n4.攻击加9999\n5.防御加9999\n0.退出\n=======================\n输入>>> "<<endl;cin>>htsr;if(htsr==1){cout<<"成功获得效果 *金币加9999\n";money+=999999;}if(htsr==2){cout<<"成功获得效果 *血量加9999\n";player.health+=9999;}if(htsr==3){cout<<"成功获得效果 *血量上限加9999\n";player.max_health+=9999;}if(htsr==4){cout<<"成功获得效果 *攻击加9999\n";player.attack+=9999;}if(htsr==5){cout<<"成功获得效果 *防御加9999\n";player.defense+=9999;}if(htsr==0){cout<<"成功退出\n";continue;}}else{cout<<"输入错误!请检查!"<<endl;continue;}break;
}
}
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
printf("等级:%d 经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
}
void BattleAct()
{
while(1)
{
puts("=============================================================================");
printf("要怎么办?\n\n\n 1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
s=SuiJi();
printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
guai.health-=player.attack+s+gong-guai.defense/3;
if(AttackResult())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
ChooseWupin();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:
DisplayState();
break; //显示状态
case 4:
s=SuiJi();
if(s<4) //40%的概率可以逃跑
{
printf("%s逃跑了~\n\n\n",player.name);
battle=0;
return;
}
else printf("%s逃跑失败!\n\n\n",player.name);
break;
default:
printf("输入错误,重新输入!\n\n\n");
}
}
}
void printf(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
Sleep(100);
}
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/24588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

axios的基本使用

axios 是一个功能强大且易于使用的 HTTP 客户端库&#xff0c;提供了丰富的功能和配置选项。以下是 axios 的完整使用示例&#xff1a; 发送 GET 请求&#xff1a; axios.get(https://jsonplaceholder.typicode.com/posts).then(response > {console.log(response.data);}…

MineAdmin 前端打包后,访问速度慢原因及优化

前言&#xff1a;打包mineadmin-vue前端后&#xff0c;访问速度很慢&#xff0c;打开控制台&#xff0c;发现有一个index-xxx.js文件达7M&#xff0c;加载时间太长&#xff1b; 优化&#xff1a; 一&#xff1a;使用文件压缩&#xff08;gzip压缩&#xff09; 1、安装compre…

360数字安全:2024年3月勒索软件流行态势分析报告

勒索软件传播至今&#xff0c;360 反勒索服务已累计接收到数万勒索软件感染求助。随着新型勒索软件的快速蔓延&#xff0c;企业数据泄露风险不断上升&#xff0c;勒索金额在数百万到近亿美元的勒索案件不断出现。勒索软件给企业和个人带来的影响范围越来越广&#xff0c;危害性…

java基础练习题

1、一个".java"源文件中是否可以包括多个类&#xff1f;有什么限制&#xff1f; 可以包含多个类。但是只有一个类可以声明为public&#xff0c;且要求声明为public的类的类名与源文件名相同。 2、java的优势&#xff1f; a、跨平台性 b、安全性高 c、简单性 d、…

无延迟,持续畅玩 - Wi-Fi 6 助力打造游戏厅极致体验

1、需求背景&#xff1a; 连锁游戏厅行业竞争激烈&#xff0c;顾客对高品质的游戏体验有着高要求。网络是游戏厅的核心基础设施之一&#xff0c;需要确保游戏过程中的网络连接稳定性和顾客满意度。 长时间稳定连接 为保证顾客的游戏体验感&#xff0c;游戏厅要确保网络连接长…

介绍建造者模式

建造者模式 将一个复杂对象的创建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示 四种角色 Product 产品角色 指的是一个具体的产品对象Builder 抽象建造者 创建一个产品对象的各个部件的接口/抽象类ConcreteBuilder 具体建造者 实现或继承抽象建造者接口…

Python量化交易学习——Part6:多因子选股策略实战(1)

在上一节中,我们学习了基于IC值的多因子计算方法,说白了就是先选择我们认为与股票收益率影响大的因子(如市盈率、净资产收益率、净利润增长率等),之后计算各个因子与股票收益率之间的相关系数,选择相关系数大的因子进行加权得到新的因子,之后求得新因子与收益率之间的相…

Leetcode:删除链表的倒数第N个结点

题目链接&#xff1a;19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 普通版本&#xff08;统计结点 头删 中间删除&#xff09; 主旨&#xff1a;对于链表的删除要考虑头删和尾删的结果 /*** Definition for singly-linked list.* struct ListNo…

使用 CloudFlare Turnstile 解决跨境电商站的垃圾邮件侵扰

最近明月一个跨境电商代维客户的网站被垃圾邮件侵扰了,从最开始的每天几封疯狂到每天几百上千封垃圾邮件,几乎所有可拦截屏蔽的关键词都是随机可变的,简单的邮件客户端拦截基本已经没有任何效果了,在收到用户的求助后经过分析发现主要是利用网站在线咨询页面里的邮件发送造…

SMS-GSM

SMS-GSM 短信模块&#xff0c;不想通过第三方的接口&#xff0c;自己搭建短信模块&#xff0c;提高信息安全。 /**/ package sms;import com.diagcn.smslib.CMessage; import com.diagcn.smslib.COutgoingMessage; import com.diagcn.smslib.SZHTOCService;/*** 短信模块** au…

汇编:头文件

汇编头文件&#xff08;header files&#xff09;在汇编语言编程中类似于高层语言中的头文件&#xff0c;它们通常包含宏定义、常量定义、数据结构定义、函数声明以及其他在多个汇编源文件中共享的代码&#xff1b;使用头文件可以提高代码的可维护性和可读性&#xff0c;并使代…

【全开源】云调查考试问卷系统(FastAdmin+ThinkPHP+Uniapp)

便捷、高效的在线调研与考试新选择​ 云调查考试问卷是一款基于FastAdminThinkPHPUniapp开发的问卷调查考试软件&#xff0c;可以自由让每一个用户自由发起调查问卷、考试问卷。发布的问卷允许控制问卷的搜集、回答等各个环节的设置&#xff0c;同时支持系统模板问卷&#xff…

11、架构-从类库到服务之客户端负载均衡

目录 主要概念 客户端负载均衡的定义与重要性 历史背景 技术细节 客户端负载均衡的实现方式 工作原理 常见的客户端负载均衡策略 实际应用 Netflix Ribbon Spring Cloud LoadBalancer 服务网格&#xff08;Service Mesh&#xff09; 代理负载均衡器 工作原理 优点…

Android UI:Drawable:DrawableContainer

文章目录 定义API 类操作源码分析 ImageView.setImageLevel选择LevelListDrawable中的DrawableDrawableContainer封装Drawable[]数组AnimationScaleListDrawable.start总结定义 DrawableContainer封装一组Drawable,不同的DrawableContainer实现Drawable不同的展示方式 API …

linux内存缓存占用过高分析和优化

1、什么是buffer/cache &#xff1f; buffer/cache其实是作为服务器系统的文件数据缓存使用的&#xff0c;尤其是针对进程对文件存在read/write操作的时候&#xff0c;所以当你的服务进程在对文件进行读写的时候&#xff0c;Linux内核为了提高服务的读写速度&#xff0c;则将会…

机器学习之数学基础 时间复杂度和空间复杂度

机器学习之数学基础中&#xff0c;时间复杂度和空间复杂度是两个至关重要的概念&#xff0c;它们分别用于描述算法在执行过程中所需的时间和空间资源。在机器学习的各个领域中&#xff0c;从数据预处理到模型训练&#xff0c;再到最终的预测和评估&#xff0c;都需要考虑到这两…

VMware ESXi 8.0U2c macOS Unlocker OEM BIOS 集成网卡驱动 Marvell AQC 网卡定制版

VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS 集成网卡驱动 Marvell AQC 网卡定制版 VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U2 集成驱动版&#xff0c;在个人电脑上运行企业级工作负载 请访问原文链…

TMS320F280049学习4:GPIO输入检测

TMS320F280049学习4&#xff1a;GPIO输入检测 文章目录 TMS320F280049学习4&#xff1a;GPIO输入检测前言一、工程代码总结 前言 DSP的内部输入上拉是弱上拉&#xff0c;上拉后的电压只有2.1V左右&#xff0c;需要外部加上拉电阻&#xff0c;具体参考这篇文章。 一、工程代码…

UG编程序怎么加刀补:深度解析与实用技巧

UG编程序怎么加刀补&#xff1a;深度解析与实用技巧 在UG编程中&#xff0c;刀补的添加是一个关键且复杂的步骤。正确地进行刀补设置&#xff0c;不仅能提高加工精度&#xff0c;还能有效避免刀具磨损和工件损伤。本文将从四个方面、五个方面、六个方面和七个方面详细解析如何…

Scratch编程从入门到精通:探索编程的奇幻世界

Scratch编程从入门到精通&#xff1a;探索编程的奇幻世界 在数字化时代的浪潮中&#xff0c;编程技能已成为一项不可或缺的能力。而Scratch&#xff0c;作为一款为青少年设计的图形化编程语言&#xff0c;以其直观易懂的界面和强大的功能&#xff0c;成为了编程初学者的理想选…