大型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压缩文件密码暴力破解脚本