大型C语言小游戏——神魔
家电修理 2023-07-16 19:17www.caominkang.com电器维修
前言
这款小游戏我从小时候就开始构思想法,后来学习C后开始慢慢实现,虽然我小时候幻想的是3A大作形式的,但无奈现在能力有限,还是慢慢来,现在还在大学学习计算机相关专业,虽然不知道以后还会不会走编程这条路,但技多不压身。,实现这个小游戏的途中得到了CSDN不少大佬的帮助,在此感谢各位。
ps虽然游戏主体大体实现,雅各布深渊的小怪、威廉湖以及万神殿的小怪和最终boss还没有设置,字幕式输出、开始想要的升级方式嫌麻烦暂时没有弄,后续会不断更新,只会抽时间弄了。,为了方便新手阅读和学习(本人也是新手),通篇代码只要学到了循环、数组的部分,看懂的问题不大,如果有bug麻烦直接指出,有什么建议也可以直接和作者交流学习,感谢大家。。
这个小游戏是文字游戏,我做成了一个项目,分为三个文件
1.test.c
用于储存主函数
#include#include"game.h" int main() { printf("游戏名《神魔》n"); printf("研发Zorron"); printf("作者出于兴趣研发了这款游戏,代码类型较为简单,若有建议可联系作者n"); printf("勇士,请拿起你手上的武器,向强者发起挑战,去追求实力的巅峰n"); printf("现在,你可以进行选择1.开始游戏 2.退出游戏n"); int start=0; scanf("%d",&start); sitch(start){ case 1: game(); case 2: break; } return 0; }
2.game.h
用于储存函数名以及头文件
#ifndef __GAME_H #define __GAME_H #include#include #include //各个函数 void game(); void zt(); void q(); void fj(); void dj(); void bb(); void sd(); void jb(); void ymx(); void dt(); void xb1(); void enemy1(); void d(); void xb2(); void enemy2(); void enemy3(); void tk(); void xb3(); void enemy4(); void lk(); void xb4(); void enemy5(); void enemy6(); void ygb(); void boss1(); void l(); #endif
3.game.c
用于储存各类定义和主体函数
#include"game.h"
//各项定义
int x=0;//game函数执行参数
int bag;//bb函数执行参数
int eapons;//q函数执行参数
int armor;//fj函数执行参数
int items;//dj函数执行参数
int map=0;//dt函数执行参数
int shop;//sd函数的执行参数
int bar;//jb函数的执行参数
int adventure=0;//ymx函数的执行参数
int moutain=0;//d函数的执行参数
int river=0;//tk函数的执行参数
int ge=0;//lk函数的执行参数
int abyss=0;//ygb函数的执行参数
int lake=0;//l函数的执行参数
int gj=1,fy=1,myhp=30;//人物的基础属性
int coin=0;//金币
int bs=0,mb=0,htq=0,qld=0,tjs=0;//基础武器
int zdqs=0,jgz=0,lszc=0,bxzr=0,zszn=0;//稀有武器
int py=0,bj=0,tj=0,yydp=0,hyzj=0;//基础防具
int qkhtf=0,jljs=0,szhjj=0,szy=0,txzyf=0;//稀有防具
int fb=0,hyfz=0,ll=0,xybhl=0,yt=0,ssx=0,tssp=0;//攻击型道具
int bd=0,jjb=0;//回血道具
int hp[]= {10,15,15,30,15,20}; //小怪的血量
int HP[]= {40}; //boss的血量
//事件触发定义
int gift=0;//酒吧老板给的小礼物
int bcd=0;//百草丹,进入威廉湖的必需品
void game() {//游戏开始
hile(1) {
hile(x==0) {
printf("接下来你可以进行选择1.查看状态 2.背包 3.地图 4.退出游戏n");
scanf("%d",&x);
hile(x==1) {
zt();
x=0;
}
hile(x==2) {
bb();
x=0;
}
hile(x==3) {
dt();
map=0;
x=0;
}
hile(x==4) {
x=-1;
}
}
}
}
void zt() {//状态
printf("n攻击:%d 防御:%d 生命:%d 金币:%dnn",gj,fy,myhp,coin);
}
void bb() {
printf("你的物品有n");
printf("1.武器 2.防具 3.道具 4.返回n");
scanf("%d",&bag);
hile(bag==1) {
q();
bag=4;
}
hile(bag==2) {
fj();
bag=4;
}
hile(bag==3) {
dj();
bag=4;
}
hile(bag==4) {
break;
}
}
void q() {//武器
printf("1.匕首:%d个 2.木棒%d个 3.虎头枪%d个 4.青龙刀%d个 5.太极扇%d个n",bs,mb,htq,qld,tjs);
printf("6.紫电清霜%d个 7.金刚琢%d个 8.雷神之锤%d个 9.不朽之刃%d个 10.诸神之怒%d个n",zdqs,jgz,lszc,bxzr,zszn);
printf("11.返回n");
scanf("%d",&eapons);
hile(eapons==1) {
if(bs>0) {
gj++;
printf("你拿起了匕首,攻击+1nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==2) {
if(mb>0) {
gj+=2;
printf("你拿起了木棒,攻击+2nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==3) {
if(htq>0) {
gj+=3;
printf("你拿起了虎头枪,攻击+3nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==4) {
if(qld>0) {
gj+=4;
printf("你拿起了青龙刀,攻击+4nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==5) {
if(tjs>0) {
gj+=5;
printf("你拿起了太极扇,攻击+5nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==6) {
if(zdqs>0) {
gj+=12;
printf("你拿起了紫电清霜,攻击+12nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==7) {
if(jgz>0) {
gj+=14;
printf("你拿起了金刚琢,攻击+14nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==8) {
if(lszc>0) {
gj+=18;
printf("你拿起了雷神之锤,攻击+18nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==9) {
if(bxzr>0) {
gj+=22;
printf("你拿起了不朽之刃,攻击+22nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==10) {
if(zszn>0) {
gj+=30;
printf("你拿起了诸神之怒,攻击+30nn");
} else {
printf("数量不足!nn");
}
eapons=11;
}
hile(eapons==11) {
break;
}
}
void fj() {//防具
printf("1.皮衣%d个 2.布甲%d个 3.铁甲%d个 4.月影斗篷%d个 5.黑曜重甲%d个n",py,bj,tj,yydp,hyzj);
printf("6.乾坤护体符%d个 7.锦镧袈裟%d个 8.锁子黄金甲%d个 9.神王之佑%d个 10.天行镇妖幡%d个n",qkhtf,jljs,szhjj,szy,txzyf);
printf("11.返回n");
scanf("%d",&armor);
hile(armor==1) {
if(py>0) {
fy++;
printf("你穿上了皮衣,防御+1nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==2) {
if(bj>0) {
fy+=2;
printf("你穿上了布甲,防御+2nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==3) {
if(py>0) {
fy+=3;
printf("你穿上了铁甲,防御+3nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==4) {
if(yydp>0) {
fy+=4;
printf("你穿上了月影斗篷,防御+4nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==5) {
if(hyzj>0) {
fy+=5;
printf("你穿上了黑曜重甲,防御+5nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==6) {
if(qkhtf>0) {
fy+=10;
printf("你穿上了乾坤护体符,防御+10nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==7) {
if(jljs>0) {
fy+=14;
printf("你穿上了锦镧袈裟,防御+14nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==8) {
if(szhjj>0) {
fy+=18;
printf("你穿上了锁子黄金甲,防御+18nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==9) {
if(szy>0) {
fy+=21;
printf("你穿上了神王之佑,防御+21nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==10) {
if(txzyf>0) {
fy+=27;
printf("你穿上了天行镇妖幡,防御+27nn");
} else {
printf("数量不足!nn");
}
armor=11;
}
hile(armor==11) {
break;
}
}
void dj() {//道具
printf("飞镖%d个 火焰符咒%d个 五雷令%d个 降妖宝葫芦%d个n",fb,hyfz,ll,xybhl);
printf("阎王贴%d个 神兽血%d个 天神审判%d个n",yt,ssx,tssp);
printf("1.绷带%d个 2.急救包%d个 3.返回n",bd,jjb);
scanf("%d",&items);
hile(items==1) {
if(myhp<30) {
if(bd>0) {
myhp+=1;
bd--;
printf("你回复了1点生命值nn");
} else {
printf("数量不足!nn");
}
} else {
printf("血量已满,无法回复!nn");
}
items=3;
}
hile(items==2) {
if(myhp<=20) {
if(jjb>0) {
myhp+=10;
jjb--;
printf("你回复了10点生命值nn");
} else {
printf("数量不足!nn");
}
} else {
myhp=30;
printf("你的血量已满nn");
}
items=3;
}
hile(items=3) {
break;
}
}
void dt() {//地图
hile(map==0) {
printf("你要去哪?n");
printf("1.商店 2.酒吧 3.野外冒险 4.返回n");
scanf("%d",&map);
hile(map==1) {
sd();
map=0;
}
hile(map==2) {
jb();
map=0;
}
hile(map==3) {
ymx();
adventure=0;
map=0;
}
hile(map==4) {
map=1;
}
}
}
void sd() {//商店
printf("n商店老板霍兹格“欢迎光临!您需要些什么?”nn");
printf("1.匕首1金币 2.皮衣1金币 3.木棒5金币 4.布甲5金币 5.绷带10金币n6.飞镖10金币 7.急救包15金币 8.火焰符咒15金币 n");
printf("9.回复全部生命值30金币 10.返回n");
scanf("%d",&shop);
hile(shop==1) {
if(coin>1) {
coin--;
bs++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==2) {
if(coin>1) {
coin--;
py++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==3) {
if(coin>5) {
coin-=5;
mb++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==4) {
if(coin>5) {
coin-=5;
bj++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==5) {
if(coin>10) {
coin-=10;
bd++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==6) {
if(coin>10) {
coin-=10;
fb++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==7) {
if(coin>15) {
coin-=15;
jjb++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==8) {
if(coin>15) {
coin-=15;
hyfz++;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop==9) {
if(coin>66) {
coin-=30;
myhp=30;
printf("购买完毕,你还有%d个金币nn",coin);
} else
printf("金币不足!nn");
shop=10;
}
hile(shop=10) {
break;
}
}
void jb() {//酒吧
printf("n夕阳黄昏的映照下,酒吧显得格外冷清,只有为数不多的几人在喝着酒n");
printf("路人甲“哈哈,听说了吗,好像有个新来的小子到咱镇上来了”时不时往你这边瞟几眼n");
printf("路人乙“那又怎样,一旦他去了野外,那一定是凶多吉少啊!”说完,冷笑着喝了口酒nn");
printf("请选择要聊天的对象1.酒吧老板 2.服务员 3.离开n");
scanf("%d",&bar);
hile(bar==1) {
printf("n你好呀,我是酒吧老板豪斯,很高兴认识你,初次见面,给你个小礼物吧。nn");
if(gift==0) {
printf("获得一把匕首nn");
bs++;
gift=1;
} else {
printf("您已获得过礼物。n");
}
printf("1.返回n");
int a;
scanf("%d",&a);
if(a=1)
bar=0;
}
hile(bar==2) {
printf("n最近镇子不太平,唉,电脑维修网希望没什么事儿。n");
printf("对了,你是新来的吧,我给你介绍一下镇子外的概况吧n");
printf("出了镇子就是绵延无际的乌达山脉,而乌达山脉深处有一条叫做塔克河的河流,河流最终引向洛克峡谷,洛克峡谷中呢又有一处叫做雅各布深渊的地方n");
printf("那个地方特别恐怖!暗无天日,怪物横行,遍地都是死尸和骸骨,我劝你啊,千万不要去那儿!n");
printf("至于其他的,我就不太清楚了,我只听说,在尸横遍野的雅各布深渊中央,是一面平静如镜的湖,湖周围生机盎然,仿佛人间仙境n");
printf("更神奇的是,听说湖中央还有一座岛,岛上有座神殿,埋葬了这个世界的所有至强者!哈哈哈哈,听起来是不是很激动!n");
printf("但关于万神殿,更像是传说,因为,咱们镇子上根本就没人去过!nn");
printf("1.返回n");
int b;
scanf("%d",&b);
if(b=1)
bar=0;
}
hile(bar==3) {
break;
}
}
void ymx() {//野外冒险
hile(adventure==0 && myhp>0) {
printf("请选择你要去的地方n");
printf("1.乌达山脉 危险系数★n");
printf("2.塔克河 危险系数★★n");
printf("3.洛克峡谷 危险系数★★★n");
printf("4.雅各布深渊 危险系数★★★★n");
printf("5.威廉湖 危险系数★★★★★n");
printf("6.返回n");
scanf("%d",&adventure);
hile(adventure==1) {
d();
adventure=0;
}
hile(adventure==2) {
tk();
adventure=0;
}
hile(adventure==3) {
lk();
adventure=0;
}
hile(adventure==4) {
ygb();
adventure=0;
}
hile(adventure==5) {
if(bcd==1) {
l();
} else {
printf("n你无法通过雅各布深渊与威廉湖之间的毒气屏障!nn");
}
adventure=0;
}
hile(adventure==6) {
adventure=-1;
}
}
hile(myhp<=0) {
printf("你的生命值太低,无法进行野外冒险!!nn");
break;
}
}
void zddj(int hp) {//战斗道具
printf("1.飞镖%d个 2.火焰符咒%d个 3.五雷令%d个 4.降妖宝葫芦%d个n",fb,hyfz,ll,xybhl);
printf("5.阎王贴%d个 6.神兽血%d个 7.天神审判%d个n",yt,ssx,tssp);
printf("8.绷带%d个 9.急救包%d个 10.返回n",bd,jjb);
int j;
scanf("%d",&j);
sitch(j) {
case 1:
if(fb>0) {
fb--;
hp-=5;
} else
printf("数量不足!n");
break;
case 2:
if(hyfz>0) {
hyfz--;
hp-=10;
} else
printf("数量不足!n");
break;
case 3:
if(ll>0) {
ll--;
hp-=15;
} else
printf("数量不足!n");
break;
case 4:
if(xybhl>0) {
xybhl--;
hp-=20;
} else
printf("数量不足!n");
break;
case 5:
if(yt>0) {
yt--;
hp-=30;
} else
printf("数量不足!n");
break;
case 6:
if(ssx>0) {
ssx--;
hp-=36;
} else
printf("数量不足!n");
break;
case 7:
if(tssp>0) {
tssp--;
hp-=42;
} else
printf("数量不足!n");
break;
case 8:
if(bd>0) {
bd--;
myhp+=10;
} else
printf("数量不足!n");
break;
case 9:
if(jjb>0) {
jjb--;
myhp+=20;
} else
printf("数量不足!n");
break;
case 10:
break;
}
}
void xb1() {
printf("你进入了山地寻宝地n");
int m;
m=rand()%4+1;
if(m==1||m==2||m==3) {
coin++;
printf("获得一个金币nn");
}
if(m==4) {
myhp--;
printf("你没注意,摔了一跤,生命值-1nn");
}
}
void enemy1() {
int n;
if(fy>=3)
printf("你的防御较高,敌人攻击无效n");
else
n=rand()%4+1;
if(n==1||n==2) {
myhp-=(4-fy);
printf("狼咬了你一口,生命值-%dn",4-fy);
}
if(n==3) {
myhp-=(3-fy);
printf("狼抓了你一下,生命值-%dn",3-fy);
}
if(n==4) {
myhp-=(5-fy);
printf("狼对你疯狂撕咬,生命值-%dn",5-fy);
}
}
void d() {
printf("在丛林茂密的山中行走nn");
int g;
g=rand()%3+1;
if(g==1||g==2) {
xb1();
}
if(g==3) {
printf("一只狼向你扑了过来!n");
printf("你的选择是1.战斗 2.逃跑n");
int h1;
scanf("%d",&h1);
sitch(h1) {
case 1:
hile(myhp>0&&hp[0]>0) {
printf("1.攻击 2.道具 3.逃跑n");
int i1;
scanf("%d",&i1);
sitch(i1) {
case 1:
if(gj>0) {
hp[0]-=gj;//狼的防御值为0
enemy1();
} else {
printf("你的攻击力太低,攻击无效!n");
enemy1();
}
break;
case 2:
zddj(hp[0]);
enemy1();
break;
case 3:
printf("逃跑成功!nn");
break;
}
}
if(hp[0]<=0) {
printf("你获得了胜利nn");
int p1;
p1=rand()%5+1;
if(p1==1) {
coin++;
printf("从狼的尸体中发现一枚金币nn");
}
if(p1==2) {
mb++;
printf("从狼的尸体中发现一个木棒nn");
}
}
if(myhp<=0&&hp[0]>0) {
printf("你战败了nn");
myhp=0;
}
case 2:
printf("逃跑成功!nn");
break;
}
}
}
void xb2() {
printf("你进入了河流寻宝地n");
int m2;
m2=rand()%12+1;
if(m2>=1 && m2<7) {
coin++;
printf("获得一个金币nn");
}
if(m2>=7&&m2<12) {
myhp--;
printf("你没注意,摔了一跤,生命值-1nn");
}
if(m2==12) {
zdqs++;
printf("河底的淤泥中,有什么东西闪闪发光,锋芒毕露n");
printf("在河流中挖出宝剑——紫电清霜nn");
}
}
void enemy2() {
int n2;
if(fy>=5)
printf("你的防御较高,敌人攻击无效n");
else
n2=rand()%4+1;
if(n2==1||n2==2) {
myhp-=(5-fy);
printf("公牛鲨咬了你一口,生命值-%dn",5-fy);
}
if(n2==3) {
myhp-=(6-fy);
printf("公牛鲨对你疯狂撕咬,生命值-%dn",6-fy);
}
if(n2==4) {
myhp-=(8-fy);
printf("公牛鲨使用技能——狂鲨突袭n");
printf("造成大量伤害!你的生命值-%dn",8-fy);
}
}
void enemy3() {
int n3;
if(fy>=6)
printf("你的防御较高,敌人攻击无效n");
else
n3=rand()%3+1;
if(n3==1) {
myhp-=(6-fy);
printf("水鬼给你一记重拳,生命值-%dn",6-fy);
}
if(n3==2) {
myhp-=(7-fy);
printf("水鬼将你拖进水底,你呼吸困难,生命值-%dn",7-fy);
}
if(n3==3) {
myhp-=(8-fy);
printf("水鬼使用技能——踏浪迎击n");
printf("造成大量伤害!你的生命值-%dn",9-fy);
}
}
void tk() {
printf("在湍急的河流中艰难跋涉\nn");
int g;
g=rand()%3+1;
if(g==1||g==2) {
xb2();
}
if(g==3) {
printf("一头公牛鲨向你游了过来!n");
printf("你的选择是1.战斗 2.逃跑n");
int h1;
scanf("%d",&h1);
sitch(h1) {
case 1:
hile(myhp>0&&hp[1]>0) {
printf("1.攻击 2.道具 3.逃跑n");
int i1;
scanf("%d",&i1);
sitch(i1) {
case 1:
if(gj>2) {
hp[1]-=(gj-2);//公牛鲨的防御值为2
enemy2();
} else {
printf("你的攻击力太低,攻击无效!n");
enemy2();
}
break;
case 2:
zddj(hp[1]);
enemy2();
break;
case 3:
printf("逃跑成功!nn");
break;
}
}
if(hp[1]<=0) {
printf("你获得了胜利nn");
int p1;
p1=rand()%5+1;
if(p1==1) {
coin++;
printf("从公牛鲨的尸体中发现一枚金币nn");
}
if(p1==2) {
bj++;
printf("从公牛鲨的尸体中发现一个布甲nn");
}
}
if(myhp<=0) {
printf("你战败了nn");
myhp=0;
}
case 2:
printf("逃跑成功!nn");
break;
}
}
if(g=4) {
printf("一只水鬼冲了过来!n");
printf("你的选择是1.战斗 2.逃跑n");
int h2;
scanf("%d",&h2);
sitch(h2) {
case 1:
hile(myhp>0&&hp[2]>0) {
printf("1.攻击 2.道具 3.逃跑n");
int i2;
scanf("%d",&i2);
sitch(i2) {
case 1:
if(gj>1) {
hp[2]-=(gj-1);//水鬼的防御值为1
enemy3();
} else {
printf("你的攻击力太低,攻击无效!n");
enemy3();
}
break;
case 2:
zddj(hp[2]);
enemy3();
break;
case 3:
printf("逃跑成功!nn");
break;
}
}
if(hp[2]<=0) {
printf("你获得了胜利nn");
int p2;
p2=rand()%5+1;
if(p2==1) {
coin++;
printf("从水鬼的尸体中发现一枚金币nn");
}
if(p2==2) {
bj++;
printf("从水鬼的尸体中发现一个虎头枪nn");
}
}
if(myhp<=0) {
printf("你战败了nn");
myhp=0;
}
case 2:
printf("逃跑成功!nn");
break;
}
}
}
void xb3() {
printf("你进入了峡谷寻宝地n");
int m3;
m3=rand()%20+1;
if(m3==1||m3==2||m3==3||m3==4||m3==5||m3==6) {
coin++;
printf("获得一个金币nn");
}
if(m3==7||m3==8||m3==9||m3==10||m3==11||m3==12) {
coin+=2;
printf("获得两个金币nn");
}
if(m3==13||m3==14||m3==15||m3==16) {
myhp-=2;
printf("你没注意,摔了一跤,生命值-2nn");
}
if(m3==17||m3==18) {
ll++;
printf("在峡谷中发现一座山洞,洞中似有人烟n");
printf("你仔细搜寻了一番,获得法宝五雷令nn");
}
if(m3==19) {
qkhtf++;
printf("突然风雨大作,天雷滚滚,一道金光从高空掠过,落在你身前n");
printf("你屈身向前,发现一个乾坤袋,打开后,里面有张符n");
printf("获得乾坤护体符nn");
}
if(m3==20) {
jgz++;
printf("突然晴空大开,万里无云,天空中出现一道彩虹,一只镯子从天上飞下n");
printf("一个伟岸的声音在空中响起“有缘人,今日吾将此物赠你,望珍重n”");
printf("获得金刚琢nn");
}
}
void enemy4() {
int n4;
if(fy>=6)
printf("你的防御较高,敌人攻击无效n");
else
n4=rand()%3+1;
if(n4==1) {
myhp-=(6-fy);
printf("石像给你一拳,生命值-%dn",6-fy);
}
if(n4==2) {
myhp-=(7-fy);
printf("石像发动全力一击,生命值-%dn",7-fy);
}
if(n4==3) {
hp[3]+=4;
printf("石像使用技能——躯体修复n");
printf("石像生命值回复4点n");
}
}
void enemy5() {
int n5;
if(fy>=8)
printf("你的防御较高,敌人攻击无效n");
else
n5=rand()%7+1;
if(n5==1||n5==2) {
myhp-=(8-fy);
printf("法师使用火魔法,你的生命值-%dn",9-fy);
}
if(n5==3||n5==4) {
myhp-=(7-fy);
hp[4]+=2;
printf("法师使用水魔法,你的生命值-%d,他的生命值+2n",8-fy);
}
if(n5==5||n5==6) {
hp[4]+=3;
printf("法师使用土魔法,他的生命值+3n");
if(hp[4]>12) {
hp[4]=15;
} else
hp[4]+=3;
}
if(n5==7) {
myhp-=8;
printf("法师使用技能——元素裂变n");
printf("无视防御!对你造成8点固定伤害!n");
}
}
void enemy6() {
int n6;
if(fy>=7)
printf("你的防御较高,敌人攻击无效n");
else
n6=rand()%2+1;
if(n6==1) {
myhp-=(7-fy);
printf("关公挥舞大刀斩向你,生命值-%dn",7-fy);
}
if(n6==2) {
myhp-=(9-fy);
printf("关公发动技能——青龙偃月斩n");
printf("造成大量伤害!你的生命值-%dn",9-fy);
}
}
void lk() {
printf("在崎岖的峡谷中艰难前行nn");
int g;
g=rand()%5+1;
if(g==1||g==2) {
xb3();
}
if(g==3) {
printf("一个巨大的石像横在你面前n");
printf("你的选择是1.战斗 2.逃跑n");
int h1;
scanf("%d",&h1);
sitch(h1) {
case 1:
hile(myhp>0&&hp[3]>0) {
printf("1.攻击 2.道具 3.逃跑n");
int i1;
scanf("%d",&i1);
sitch(i1) {
case 1:
if(gj>4) {
hp[3]-=(gj-4);//石像的防御值为4
enemy4();
} else {
printf("你的攻击力太低,攻击无效!n");
enemy4();
}
break;
case 2:
zddj(hp[3]);
enemy4();
break;
case 3:
printf("逃跑成功!nn");
break;
}
}
if(hp[3]<=0) {
printf("你获得了胜利nn");
int p1;
p1=rand()%4+1;
if(p1==1) {
coin+=2;
printf("从石像的尸体中发现两枚金币nn");
}
if(p1==2) {
tj++;
printf("从石像的尸体中发现一个铁甲nn");
}
}
if(myhp<=0) {
printf("你战败了nn");
myhp=0;
}
case 2:
printf("逃跑成功!nn");
break;
}
}
if(g==4) {
printf("一个白胡子法师从天而降,来者不善n");
printf("你的选择是1.战斗 2.逃跑n");
int h2;
scanf("%d",&h2);
sitch(h2) {
case 1:
hile(myhp>0&&hp[4]>0) {
printf("1.攻击 2.道具 3.逃跑n");
int i2;
scanf("%d",&i2);
sitch(i2) {
case 1:
if(gj>0) {
hp[4]-=(gj-2);//法师的防御值为2
enemy5();
} else {
printf("你的攻击力太低,攻击无效!n");
enemy5();
}
break;
case 2:
zddj(hp[4]);
enemy5();
break;
case 3:
printf("逃跑成功!nn");
break;
}
}
if(hp[4]<=0) {
printf("你获得了胜利nn");
int p2;
p2=rand()%7+1;
if(p2==1) {
coin+=2;
printf("从法师的尸体中发现两枚金币nn");
}
if(p2==2) {
jjb++;
printf("从法师的尸体中发现一个急救包nn");
}
if(p2==3) {
hyfz++;
printf("从法师的尸体中发现一个火焰符咒nn");
}
if(p2==4) {
myhp-=3;
printf("你不小心把法师随身携带的毒药打翻了,生命值-3nn");
}
if(p2==5) {
myhp+=3;
printf("你喝下了法师随身携带的治疗药水,生命值+3nn");
}
}
if(myhp<=0) {
printf("你战败了nn");
myhp=0;
}
case 2:
printf("逃跑成功!nn");
break;
}
}
if(g==5) {
printf("峡谷深处传来嘶嘶马鸣,如惊雷一般,突然,关公驾马出现在你面前n");
printf("你的选择是1.战斗 2.逃跑n");
int h3;
scanf("%d",&h3);
sitch(h3) {
case 1:
hile(myhp>0&&hp[5]>0) {
printf("1.攻击 2.道具 3.逃跑n");
int i3;
scanf("%d",&i3);
sitch(i3) {
case 1:
if(gj>0) {
hp[5]-=(gj-3);//关公的防御值为3
enemy6();
} else {
printf("你的攻击力太低,攻击无效!n");
enemy6();
}
break;
case 2:
zddj(hp[5]);
enemy6();
break;
case 3:
printf("逃跑成功!nn");
break;
}
}
if(hp[5]<=0) {
printf("你获得了胜利nn");
int p3;
p3=rand()%5+1;
if(p3==1) {
coin+=2;
printf("从关公的尸体中发现两枚金币nn");
}
if(p3==2) {
qld++;
printf("从关公的尸体中发现青龙刀nn");
}
if(p3==3) {
yydp++;
printf("从关公的尸体中发现月影斗篷nn");
}
}
if(myhp<=0) {
printf("你战败了nn");
myhp=0;
}
case 2:
printf("逃跑成功!nn");
break;
}
}
}
void boss1() {
int n11;
if(fy>=15)
printf("你的防御较高,敌人攻击无效n");
else
n11=rand()%6+1;
if(n11==1||n11==2||n11==3) {
myhp-=(15-fy);
printf("莫顿发动技能——深渊斩n");
printf("造成大量伤害!你的生命值-%dn",15-fy);
}
if(n11==4) {
myhp-=(17-fy);
printf("莫顿发动技能——深渊怒吼n");
printf("造成大量伤害!你的生命值-%dn",17-fy);
}
if(n11==5) {
printf("莫顿发动技能——深渊庇佑n");
printf("莫顿生命值回复10点n");
if(HP[0]>=30) {
HP[0]=30;
} else
HP[0]+=10;
}
if(n11==6) {
myhp-=8;
HP[0]-=5;
printf("莫顿发动技能——深渊绝命击n");
printf("无视防御,对你造成8点伤害,莫顿自身扣除5点生命值n");
}
}
void ygb() {
printf("在昏暗危险的深渊行走,四周充斥着各种恐怖的咆哮声nn");
int m;
m=rand()%11+1;
if(m<11) {
printf("暂未开启nn");
}
if(m==11) {
printf("忽然,一个庞大的身影从深渊之中缓缓走出n");
printf("一一呵呵,你好,远道而来的人,现在你来到了我的面前,不知是幸运还是不幸。在我们交手之前,先听我讲个故事吧n");
printf("一一我是深渊外围的至强者——莫顿,当年我只身闯入的禁地——威廉湖,只想看看此处的最强怪物是谁,并与之战斗n");
printf("一一而当我击杀了威廉湖畔的几个强大生物,往湖中央游去时,却发现那儿别有洞天n");
printf("一一湖中央居然有个小岛,岛上是一座庞大的神殿,神殿大门口有块匾,上面写着《万神殿》n");
printf("一一我兴奋地走了进去,幻想着获得大机缘,然后我发现,大殿中央全是雄伟的墓碑,两旁则是一排排高大的石像n");
printf("一一也许是打扰了神迹,万神殿的守护者突然出现,他实在太强,我完全抵挡不住,被他击杀n");
printf("一一可能是看我实力尚可,便让我做了深渊外围的守护者,并且在外围和威廉湖之间布下了剧毒的瘴气n");
printf("一一我的使命,既是守护神的安宁,也为了等待真正的强者,试着去撼动这个神迹,而你,此时出现在我面前n");
printf("一一现在你可以选择离开或是与我战斗,,如果你战胜了我,我会为赠送你一个物件,可以防御瘴气,让你进入威廉湖nn");
printf("一一那么,请做出你的选择1.战斗 2.离开n");
int n;
scanf("%d",&n);
sitch(n) {
case 1:
printf("哈哈哈,很好,终于可以活动一下筋骨了n");
hile(myhp>0&&HP[0]>0) {
printf("1.攻击 2.道具 3.逃跑n");
int i1;
scanf("%d",&i1);
sitch(i1) {
case 1:
if(gj>0) {
HP[0]-=(gj-10);//莫顿的防御值为10
boss1();
} else
printf("你的攻击力太低,攻击无效!n");
boss1();
break;
case 2:
zddj(HP[0]);
boss1();
break;
case 3:
printf("逃跑成功!nn");
break;
}
}
if(HP[0]<=0) {
printf("n咳咳,恭喜你战胜了我,哈哈,证明你有实力窥探神迹!n");
printf("那么,到我兑现承诺的时候了,,我也会助你一臂之力n");
printf("获得十枚金币n");
printf("这是我以前偶然获得的法宝——神兽血,现在送给你n");
printf("获得道具神兽血n");
printf("还有这个,这是百草丹,含于口中,百毒不侵,可使你通过瘴气,进入威廉湖n");
printf("获得道具百草丹nn");
coin+=10;
ssx++;
bcd++;
printf("恭喜你,威廉湖已开放!nn");
}
if(myhp<=0) {
printf("你战败了nn");
myhp=0;
}
break;
case 2:
printf("逃跑成功!nn");
break;
}
}
}
void l() {
printf("暂未开启n");
}上一篇:2021微信自动扣费怎么关闭? 下一篇:zip压缩文件密码暴力破解脚本
空调维修
- 我的世界电脑版运行身份怎么弄出来(我的世界
- 空调抽湿是什么意思,设置抽湿的温度有什么意
- 方太燃气灶有一个打不着火 怎么修复与排查方法
- 夏季免费清洗汽车空调的宣传口号
- 清洗完空调后出现漏水现象
- iphone6能玩什么游戏(iphone6游戏)
- 如何设置电脑密码锁屏(如何设置电脑密码锁屏
- win10删除开机密码提示不符合密码策略要求
- 电脑w7显示不是正版(w7不是正版怎么解决)
- 万家乐z8热水器显示e7解决 怎么修复与排查方法
- 1匹空调多少瓦数(1匹空调多少瓦)
- 安卓手机连接电脑用什么软件好(关于安卓手机
- 电脑网页看视频卡是什么原因(爱拍看视频卡)
- 华帝燃气灶点火器一直响然后熄火怎么办:问题
- 电脑壁纸怎么换(关于电脑壁纸怎么换的介绍)
- 冬天空调的出风口应该朝什么方向(冬天空调风