前言:

这款小游戏我从小时候就开始构思想法,后来学习C后开始慢慢实现,虽然我小时候幻想的是3A大作形式的,但无奈现在能力有限,还是慢慢来,现在还在大学学习计算机相关专业,虽然不知道以后还会不会走编程这条路,但技多不压身。当然,实现这个小游戏的途中得到了CSDN不少大佬的帮助,在此感谢各位。

ps:虽然游戏主体大体实现,但是雅各布深渊的小怪、威廉湖以及万神殿的小怪和最终boss还没有设置,字幕式输出、开始想要的升级方式嫌麻烦暂时没有弄,后续会不断更新,但是只会抽时间弄了。另外,为了方便新手阅读和学习(本人也是新手),通篇代码只要学了循环、数组的部分,看懂的问题不大,如果有bug麻烦直接指出,有什么建议也可以直接和作者交流学习,感谢大家。。


这个小游戏是文字游戏,我做成了一个项目,分为三个文件

1.test.c

用于储存主函数

#include<stdio.h>
#include"game.h"int main()
{printf("游戏名:《神魔》\n");printf("研发:Zorro\n");printf("作者出于兴趣研发了这款游戏,代码类型较为简单,若有建议可联系作者\n");printf("勇士,请拿起你手上的武器,向强者发起挑战,去追求实力的巅峰\n");printf("现在,你可以进行选择:1.开始游戏      2.退出游戏\n");int start=0;scanf("%d",&start);switch(start){case 1:game();case 2:break;}return 0;
}

2.game.h

用于储存函数名以及头文件

#ifndef __GAME_H
#define __GAME_H#include<stdio.h>
#include<stdlib.h>
#include<string.h> //各个函数
void game();
void zt();
void wq();
void fj();
void dj();
void bb();
void sd();
void jb();
void ywmx();
void dt();
void xb1();
void enemy1();
void wd();
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 wl();#endif

3.game.c

用于储存各类定义和主体函数

#include"game.h"//各项定义
int x=0;//game函数执行参数
int bag;//bb函数执行参数
int weapons;//wq函数执行参数
int armor;//fj函数执行参数
int items;//dj函数执行参数
int map=0;//dt函数执行参数
int shop;//sd函数的执行参数
int bar;//jb函数的执行参数
int adventure=0;//ywmx函数的执行参数
int moutain=0;//wd函数的执行参数
int river=0;//tk函数的执行参数
int gorge=0;//lk函数的执行参数
int abyss=0;//ygb函数的执行参数
int lake=0;//wl函数的执行参数
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,swzy=0,txzyf=0;//稀有防具
int fb=0,hyfz=0,wll=0,xybhl=0,ywt=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() {//游戏开始while(1) {while(x==0) {printf("接下来你可以进行选择:1.查看状态  2.背包  3.地图  4.退出游戏\n");scanf("%d",&x);while(x==1) {zt();x=0;}while(x==2) {bb();x=0;}while(x==3) {dt();map=0;x=0;}while(x==4) {x=-1;}}}
}void zt() {//状态printf("\n攻击:%d    防御:%d    生命:%d    金币:%d\n\n",gj,fy,myhp,coin);
}void bb() {printf("你的物品有:\n");printf("1.武器       2.防具       3.道具       4.返回\n");scanf("%d",&bag);while(bag==1) {wq();bag=4;}while(bag==2) {fj();bag=4;}while(bag==3) {dj();bag=4;}while(bag==4) {break;}
}void wq() {//武器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",&weapons);while(weapons==1) {if(bs>0) {gj++;printf("你拿起了匕首,攻击+1\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==2) {if(mb>0) {gj+=2;printf("你拿起了木棒,攻击+2\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==3) {if(htq>0) {gj+=3;printf("你拿起了虎头枪,攻击+3\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==4) {if(qld>0) {gj+=4;printf("你拿起了青龙刀,攻击+4\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==5) {if(tjs>0) {gj+=5;printf("你拿起了太极扇,攻击+5\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==6) {if(zdqs>0) {gj+=12;printf("你拿起了紫电清霜,攻击+12\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==7) {if(jgz>0) {gj+=14;printf("你拿起了金刚琢,攻击+14\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==8) {if(lszc>0) {gj+=18;printf("你拿起了雷神之锤,攻击+18\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==9) {if(bxzr>0) {gj+=22;printf("你拿起了不朽之刃,攻击+22\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==10) {if(zszn>0) {gj+=30;printf("你拿起了诸神之怒,攻击+30\n\n");} else {printf("数量不足!\n\n");}weapons=11;}while(weapons==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,swzy,txzyf);printf("11.返回\n");scanf("%d",&armor);while(armor==1) {if(py>0) {fy++;printf("你穿上了皮衣,防御+1\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==2) {if(bj>0) {fy+=2;printf("你穿上了布甲,防御+2\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==3) {if(py>0) {fy+=3;printf("你穿上了铁甲,防御+3\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==4) {if(yydp>0) {fy+=4;printf("你穿上了月影斗篷,防御+4\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==5) {if(hyzj>0) {fy+=5;printf("你穿上了黑曜重甲,防御+5\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==6) {if(qkhtf>0) {fy+=10;printf("你穿上了乾坤护体符,防御+10\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==7) {if(jljs>0) {fy+=14;printf("你穿上了锦镧袈裟,防御+14\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==8) {if(szhjj>0) {fy+=18;printf("你穿上了锁子黄金甲,防御+18\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==9) {if(swzy>0) {fy+=21;printf("你穿上了神王之佑,防御+21\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==10) {if(txzyf>0) {fy+=27;printf("你穿上了天行镇妖幡,防御+27\n\n");} else {printf("数量不足!\n\n");}armor=11;}while(armor==11) {break;}
}void dj() {//道具printf("飞镖:%d个    火焰符咒:%d个    五雷令:%d个    降妖宝葫芦:%d个\n",fb,hyfz,wll,xybhl);printf("阎王贴:%d个    神兽血:%d个    天神审判:%d个\n",ywt,ssx,tssp);printf("1.绷带:%d个     2.急救包:%d个     3.返回\n",bd,jjb);scanf("%d",&items);while(items==1) {if(myhp<30) {if(bd>0) {myhp+=1;bd--;printf("你回复了1点生命值\n\n");} else {printf("数量不足!\n\n");}} else {printf("血量已满,无法回复!\n\n");}items=3;}while(items==2) {if(myhp<=20) {if(jjb>0) {myhp+=10;jjb--;printf("你回复了10点生命值\n\n");} else {printf("数量不足!\n\n");}} else {myhp=30;printf("你的血量已满\n\n");}items=3;}while(items=3) {break;}
}void dt() {//地图while(map==0) {printf("你要去哪?\n");printf("1.商店     2.酒吧     3.野外冒险     4.返回\n");scanf("%d",&map);while(map==1) {sd();map=0;}while(map==2) {jb();map=0;}while(map==3) {ywmx();adventure=0;map=0;}while(map==4) {map=1;}}
}void sd() {//商店printf("\n商店老板霍兹格:“欢迎光临!您需要些什么?”\n\n");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);while(shop==1) {if(coin>1) {coin--;bs++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==2) {if(coin>1) {coin--;py++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==3) {if(coin>5) {coin-=5;mb++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==4) {if(coin>5) {coin-=5;bj++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==5) {if(coin>10) {coin-=10;bd++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==6) {if(coin>10) {coin-=10;fb++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==7) {if(coin>15) {coin-=15;jjb++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==8) {if(coin>15) {coin-=15;hyfz++;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop==9) {if(coin>66) {coin-=30;myhp=30;printf("购买完毕,你还有%d个金币\n\n",coin);} elseprintf("金币不足!\n\n");shop=10;}while(shop=10) {break;}
}void jb() {//酒吧printf("\n夕阳黄昏的映照下,酒吧显得格外冷清,只有为数不多的几人在喝着酒\n");printf("路人甲:“哈哈,听说了吗,好像有个新来的小子到咱镇上来了”时不时往你这边瞟几眼\n");printf("路人乙:“那又怎样,一旦他去了野外,那一定是凶多吉少啊!”说完,冷笑着喝了口酒\n\n");printf("请选择要聊天的对象:1.酒吧老板    2.服务员    3.离开\n");scanf("%d",&bar);while(bar==1) {printf("\n你好呀,我是酒吧老板豪斯,很高兴认识你,初次见面,给你个小礼物吧。\n\n");if(gift==0) {printf("获得一把匕首\n\n");bs++;gift=1;} else {printf("您已获得过礼物。\n");}printf("1.返回\n");int a;scanf("%d",&a);if(a=1)bar=0;}while(bar==2) {printf("\n最近镇子不太平,唉,希望没什么事儿。\n");printf("对了,你是新来的吧,我给你介绍一下镇子外的概况吧\n");printf("出了镇子就是绵延无际的乌达山脉,而乌达山脉深处有一条叫做塔克河的河流,河流最终引向洛克峡谷,洛克峡谷中呢又有一处叫做雅各布深渊的地方\n");printf("那个地方特别恐怖!暗无天日,怪物横行,遍地都是死尸和骸骨,我劝你啊,千万不要去那儿!\n");printf("至于其他的,我就不太清楚了,我只听说,在尸横遍野的雅各布深渊中央,是一面平静如镜的湖,湖周围生机盎然,仿佛人间仙境\n");printf("更神奇的是,听说湖中央还有一座岛,岛上有座神殿,埋葬了这个世界的所有至强者!哈哈哈哈,听起来是不是很激动!\n");printf("但关于万神殿,更像是传说,因为,咱们镇子上根本就没人去过!\n\n");printf("1.返回\n");int b;scanf("%d",&b);if(b=1)bar=0;}while(bar==3) {break;}
}void ywmx() {//野外冒险while(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);while(adventure==1) {wd();adventure=0;}while(adventure==2) {tk();adventure=0;}while(adventure==3) {lk();adventure=0;}while(adventure==4) {ygb();adventure=0;}while(adventure==5) {if(bcd==1) {wl();} else {printf("\n你无法通过雅各布深渊与威廉湖之间的毒气屏障!\n\n");}adventure=0;}while(adventure==6) {adventure=-1;}}while(myhp<=0) {printf("你的生命值太低,无法进行野外冒险!!\n\n");break;}
}void zddj(int hp) {//战斗道具printf("1.飞镖%d个    2.火焰符咒%d个    3.五雷令%d个    4.降妖宝葫芦%d个\n",fb,hyfz,wll,xybhl);printf("5.阎王贴%d个    6.神兽血%d个    7.天神审判%d个\n",ywt,ssx,tssp);printf("8.绷带%d个     9.急救包%d个    10.返回\n",bd,jjb);int j;scanf("%d",&j);switch(j) {case 1:if(fb>0) {fb--;hp-=5;} elseprintf("数量不足!\n");break;case 2:if(hyfz>0) {hyfz--;hp-=10;} elseprintf("数量不足!\n");break;case 3:if(wll>0) {wll--;hp-=15;} elseprintf("数量不足!\n");break;case 4:if(xybhl>0) {xybhl--;hp-=20;} elseprintf("数量不足!\n");break;case 5:if(ywt>0) {ywt--;hp-=30;} elseprintf("数量不足!\n");break;case 6:if(ssx>0) {ssx--;hp-=36;} elseprintf("数量不足!\n");break;case 7:if(tssp>0) {tssp--;hp-=42;} elseprintf("数量不足!\n");break;case 8:if(bd>0) {bd--;myhp+=10;} elseprintf("数量不足!\n");break;case 9:if(jjb>0) {jjb--;myhp+=20;} elseprintf("数量不足!\n");break;case 10:break;}
}void xb1() {printf("你进入了山地寻宝地\n");int m;m=rand()%4+1;if(m==1||m==2||m==3) {coin++;printf("获得一个金币\n\n");}if(m==4) {myhp--;printf("你没注意,摔了一跤,生命值-1\n\n");}
}void enemy1() {int n;if(fy>=3)printf("你的防御较高,敌人攻击无效\n");elsen=rand()%4+1;if(n==1||n==2) {myhp-=(4-fy);printf("狼咬了你一口,生命值-%d\n",4-fy);}if(n==3) {myhp-=(3-fy);printf("狼抓了你一下,生命值-%d\n",3-fy);}if(n==4) {myhp-=(5-fy);printf("狼对你疯狂撕咬,生命值-%d\n",5-fy);}
}void wd() {printf("在丛林茂密的山中行走\n\n");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);switch(h1) {case 1:while(myhp>0&&hp[0]>0) {printf("1.攻击   2.道具    3.逃跑\n");int i1;scanf("%d",&i1);switch(i1) {case 1:if(gj>0) {hp[0]-=gj;//狼的防御值为0enemy1();} else {printf("你的攻击力太低,攻击无效!\n");enemy1();}break;case 2:zddj(hp[0]);enemy1();break;case 3:printf("逃跑成功!\n\n");break;}}if(hp[0]<=0) {printf("你获得了胜利\n\n");int p1;p1=rand()%5+1;if(p1==1) {coin++;printf("从狼的尸体中发现一枚金币\n\n");}if(p1==2) {mb++;printf("从狼的尸体中发现一个木棒\n\n");}}if(myhp<=0&&hp[0]>0) {printf("你战败了\n\n");myhp=0;}break;case 2:printf("逃跑成功!\n\n");break;}}
}void xb2() {printf("你进入了河流寻宝地\n");int m2;m2=rand()%12+1;if(m2>=1 && m2<7) {coin++;printf("获得一个金币\n\n");}if(m2>=7&&m2<12) {myhp--;printf("你没注意,摔了一跤,生命值-1\n\n");}if(m2==12) {zdqs++;printf("河底的淤泥中,有什么东西闪闪发光,锋芒毕露\n");printf("在河流中挖出宝剑——紫电清霜\n\n");}
}void enemy2() {int n2;if(fy>=5)printf("你的防御较高,敌人攻击无效\n");elsen2=rand()%4+1;if(n2==1||n2==2) {myhp-=(5-fy);printf("公牛鲨咬了你一口,生命值-%d\n",5-fy);}if(n2==3) {myhp-=(6-fy);printf("公牛鲨对你疯狂撕咬,生命值-%d\n",6-fy);}if(n2==4) {myhp-=(8-fy);printf("公牛鲨使用技能——狂鲨突袭\n");printf("造成大量伤害!你的生命值-%d\n",8-fy);}
}void enemy3() {int n3;if(fy>=6)printf("你的防御较高,敌人攻击无效\n");elsen3=rand()%3+1;if(n3==1) {myhp-=(6-fy);printf("水鬼给你一记重拳,生命值-%d\n",6-fy);}if(n3==2) {myhp-=(7-fy);printf("水鬼将你拖进水底,你呼吸困难,生命值-%d\n",7-fy);}if(n3==3) {myhp-=(8-fy);printf("水鬼使用技能——踏浪迎击\n");printf("造成大量伤害!你的生命值-%d\n",9-fy);}
}void tk() {printf("在湍急的河流中艰难跋涉\\n\n");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);switch(h1) {case 1:while(myhp>0&&hp[1]>0) {printf("1.攻击   2.道具    3.逃跑\n");int i1;scanf("%d",&i1);switch(i1) {case 1:if(gj>2) {hp[1]-=(gj-2);//公牛鲨的防御值为2enemy2();} else {printf("你的攻击力太低,攻击无效!\n");enemy2();}break;case 2:zddj(hp[1]);enemy2();break;case 3:printf("逃跑成功!\n\n");break;}}if(hp[1]<=0) {printf("你获得了胜利\n\n");int p1;p1=rand()%5+1;if(p1==1) {coin++;printf("从公牛鲨的尸体中发现一枚金币\n\n");}if(p1==2) {bj++;printf("从公牛鲨的尸体中发现一个布甲\n\n");}}if(myhp<=0) {printf("你战败了\n\n");myhp=0;}break;case 2:printf("逃跑成功!\n\n");break;}}if(g=4) {printf("一只水鬼冲了过来!\n");printf("你的选择是:1.战斗   2.逃跑\n");int h2;scanf("%d",&h2);switch(h2) {case 1:while(myhp>0&&hp[2]>0) {printf("1.攻击   2.道具    3.逃跑\n");int i2;scanf("%d",&i2);switch(i2) {case 1:if(gj>1) {hp[2]-=(gj-1);//水鬼的防御值为1enemy3();} else {printf("你的攻击力太低,攻击无效!\n");enemy3();}break;case 2:zddj(hp[2]);enemy3();break;case 3:printf("逃跑成功!\n\n");break;}}if(hp[2]<=0) {printf("你获得了胜利\n\n");int p2;p2=rand()%5+1;if(p2==1) {coin++;printf("从水鬼的尸体中发现一枚金币\n\n");}if(p2==2) {bj++;printf("从水鬼的尸体中发现一个虎头枪\n\n");}}if(myhp<=0) {printf("你战败了\n\n");myhp=0;}break;case 2:printf("逃跑成功!\n\n");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("获得一个金币\n\n");}if(m3==7||m3==8||m3==9||m3==10||m3==11||m3==12) {coin+=2;printf("获得两个金币\n\n");}if(m3==13||m3==14||m3==15||m3==16) {myhp-=2;printf("你没注意,摔了一跤,生命值-2\n\n");}if(m3==17||m3==18) {wll++;printf("在峡谷中发现一座山洞,洞中似有人烟\n");printf("你仔细搜寻了一番,获得法宝:五雷令\n\n");}if(m3==19) {qkhtf++;printf("突然风雨大作,天雷滚滚,一道金光从高空掠过,最后落在你身前\n");printf("你屈身向前,发现一个乾坤袋,打开后,里面有张符\n");printf("获得:乾坤护体符\n\n");}if(m3==20) {jgz++;printf("突然晴空大开,万里无云,天空中出现一道彩虹,一只镯子从天上飞下\n");printf("一个伟岸的声音在空中响起:“有缘人,今日吾将此物赠你,望珍重\n”");printf("获得:金刚琢\n\n");}
}void enemy4() {int n4;if(fy>=6)printf("你的防御较高,敌人攻击无效\n");elsen4=rand()%3+1;if(n4==1) {myhp-=(6-fy);printf("石像给你一拳,生命值-%d\n",6-fy);}if(n4==2) {myhp-=(7-fy);printf("石像发动全力一击,生命值-%d\n",7-fy);}if(n4==3) {hp[3]+=4;printf("石像使用技能——躯体修复\n");printf("石像生命值回复4点\n");}
}void enemy5() {int n5;if(fy>=8)printf("你的防御较高,敌人攻击无效\n");elsen5=rand()%7+1;if(n5==1||n5==2) {myhp-=(8-fy);printf("法师使用火魔法,你的生命值-%d\n",9-fy);}if(n5==3||n5==4) {myhp-=(7-fy);hp[4]+=2;printf("法师使用水魔法,你的生命值-%d,他的生命值+2\n",8-fy);}if(n5==5||n5==6) {hp[4]+=3;printf("法师使用土魔法,他的生命值+3\n");if(hp[4]>12) {hp[4]=15;} elsehp[4]+=3;}if(n5==7) {myhp-=8;printf("法师使用技能——元素裂变\n");printf("无视防御!对你造成8点固定伤害!\n");}
}void enemy6() {int n6;if(fy>=7)printf("你的防御较高,敌人攻击无效\n");elsen6=rand()%2+1;if(n6==1) {myhp-=(7-fy);printf("关公挥舞大刀斩向你,生命值-%d\n",7-fy);}if(n6==2) {myhp-=(9-fy);printf("关公发动技能——青龙偃月斩\n");printf("造成大量伤害!你的生命值-%d\n",9-fy);}
}void lk() {printf("在崎岖的峡谷中艰难前行\n\n");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);switch(h1) {case 1:while(myhp>0&&hp[3]>0) {printf("1.攻击   2.道具    3.逃跑\n");int i1;scanf("%d",&i1);switch(i1) {case 1:if(gj>4) {hp[3]-=(gj-4);//石像的防御值为4enemy4();} else {printf("你的攻击力太低,攻击无效!\n");enemy4();}break;case 2:zddj(hp[3]);enemy4();break;case 3:printf("逃跑成功!\n\n");break;}}if(hp[3]<=0) {printf("你获得了胜利\n\n");int p1;p1=rand()%4+1;if(p1==1) {coin+=2;printf("从石像的尸体中发现两枚金币\n\n");}if(p1==2) {tj++;printf("从石像的尸体中发现一个铁甲\n\n");}}if(myhp<=0) {printf("你战败了\n\n");myhp=0;}break;case 2:printf("逃跑成功!\n\n");break;}}if(g==4) {printf("一个白胡子法师从天而降,来者不善\n");printf("你的选择是:1.战斗   2.逃跑\n");int h2;scanf("%d",&h2);switch(h2) {case 1:while(myhp>0&&hp[4]>0) {printf("1.攻击   2.道具    3.逃跑\n");int i2;scanf("%d",&i2);switch(i2) {case 1:if(gj>0) {hp[4]-=(gj-2);//法师的防御值为2enemy5();} else {printf("你的攻击力太低,攻击无效!\n");enemy5();}break;case 2:zddj(hp[4]);enemy5();break;case 3:printf("逃跑成功!\n\n");break;}}if(hp[4]<=0) {printf("你获得了胜利\n\n");int p2;p2=rand()%7+1;if(p2==1) {coin+=2;printf("从法师的尸体中发现两枚金币\n\n");}if(p2==2) {jjb++;printf("从法师的尸体中发现一个急救包\n\n");}if(p2==3) {hyfz++;printf("从法师的尸体中发现一个火焰符咒\n\n");}if(p2==4) {myhp-=3;printf("你不小心把法师随身携带的毒药打翻了,生命值-3\n\n");}if(p2==5) {myhp+=3;printf("你喝下了法师随身携带的治疗药水,生命值+3\n\n");}}if(myhp<=0) {printf("你战败了\n\n");myhp=0;}break;case 2:printf("逃跑成功!\n\n");break;}}if(g==5) {printf("峡谷深处传来嘶嘶马鸣,如惊雷一般,突然,关公驾马出现在你面前\n");printf("你的选择是:1.战斗   2.逃跑\n");int h3;scanf("%d",&h3);switch(h3) {case 1:while(myhp>0&&hp[5]>0) {printf("1.攻击   2.道具    3.逃跑\n");int i3;scanf("%d",&i3);switch(i3) {case 1:if(gj>0) {hp[5]-=(gj-3);//关公的防御值为3enemy6();} else {printf("你的攻击力太低,攻击无效!\n");enemy6();}break;case 2:zddj(hp[5]);enemy6();break;case 3:printf("逃跑成功!\n\n");break;}}if(hp[5]<=0) {printf("你获得了胜利\n\n");int p3;p3=rand()%5+1;if(p3==1) {coin+=2;printf("从关公的尸体中发现两枚金币\n\n");}if(p3==2) {qld++;printf("从关公的尸体中发现青龙刀\n\n");}if(p3==3) {yydp++;printf("从关公的尸体中发现月影斗篷\n\n");}}if(myhp<=0) {printf("你战败了\n\n");myhp=0;}break;case 2:printf("逃跑成功!\n\n");break;}}
}void boss1() {int n11;if(fy>=15)printf("你的防御较高,敌人攻击无效\n");elsen11=rand()%6+1;if(n11==1||n11==2||n11==3) {myhp-=(15-fy);printf("莫顿发动技能——深渊斩\n");printf("造成大量伤害!你的生命值-%d\n",15-fy);}if(n11==4) {myhp-=(17-fy);printf("莫顿发动技能——深渊怒吼\n");printf("造成大量伤害!你的生命值-%d\n",17-fy);}if(n11==5) {printf("莫顿发动技能——深渊庇佑\n");printf("莫顿生命值回复10点\n");if(HP[0]>=30) {HP[0]=30;} elseHP[0]+=10;}if(n11==6) {myhp-=8;HP[0]-=5;printf("莫顿发动技能——深渊绝命击\n");printf("无视防御,对你造成8点伤害,同时莫顿自身扣除5点生命值\n");}
}void ygb() {printf("在昏暗危险的深渊行走,四周充斥着各种恐怖的咆哮声\n\n");int m;m=rand()%11+1;if(m<11) {printf("暂未开启\n\n");}if(m==11) {printf("忽然,一个庞大的身影从深渊之中缓缓走出\n");printf("一一呵呵,你好,远道而来的人,现在你来到了我的面前,不知是幸运还是不幸。在我们交手之前,先听我讲个故事吧\n");printf("一一我是深渊外围的至强者——莫顿,当年我只身闯入最后的禁地——威廉湖,只想看看此处的最强怪物是谁,并与之战斗\n");printf("一一而当我击杀了威廉湖畔的几个强大生物,往湖中央游去时,却发现那儿别有洞天\n");printf("一一湖中央居然有个小岛,岛上是一座庞大的神殿,神殿大门口有块匾,上面写着《万神殿》\n");printf("一一我兴奋地走了进去,幻想着获得大机缘,然后我发现,大殿中央全是雄伟的墓碑,两旁则是一排排高大的石像\n");printf("一一也许是打扰了神迹,万神殿的守护者突然出现,他实在太强,我完全抵挡不住,被他击杀\n");printf("一一可能是看我实力尚可,便让我做了深渊外围的守护者,并且在外围和威廉湖之间布下了剧毒的瘴气\n");printf("一一我的使命,既是守护神的安宁,也为了等待真正的强者,试着去撼动这个神迹,而你,此时出现在我面前\n");printf("一一现在你可以选择离开或是与我战斗,当然,如果你战胜了我,我会为赠送你一个物件,可以防御瘴气,让你进入威廉湖\n\n");printf("一一那么,请做出你的选择:1.战斗    2.离开\n");int n;scanf("%d",&n);switch(n) {case 1:printf("哈哈哈,很好,终于可以活动一下筋骨了\n");while(myhp>0&&HP[0]>0) {printf("1.攻击   2.道具    3.逃跑\n");int i1;scanf("%d",&i1);switch(i1) {case 1:if(gj>0) {HP[0]-=(gj-10);//莫顿的防御值为10boss1();} elseprintf("你的攻击力太低,攻击无效!\n");boss1();break;case 2:zddj(HP[0]);boss1();break;case 3:printf("逃跑成功!\n\n");break;}}if(HP[0]<=0) {printf("\n咳咳,恭喜你战胜了我,哈哈,证明你有实力窥探神迹!\n");printf("那么,到我兑现承诺的时候了,当然,我也会助你一臂之力\n");printf("获得十枚金币\n");printf("这是我以前偶然获得的法宝——神兽血,现在送给你\n");printf("获得道具:神兽血\n");printf("还有这个,这是百草丹,含于口中,百毒不侵,可使你通过瘴气,进入威廉湖\n");printf("获得道具:百草丹\n\n");coin+=10;ssx++;bcd++;printf("恭喜你,威廉湖已开放!\n\n");}if(myhp<=0) {printf("你战败了\n\n");myhp=0;}break;case 2:printf("逃跑成功!\n\n");break;}}
}void wl() {printf("暂未开启\n");
}

大型C语言打怪小游戏——神魔相关推荐

  1. 用C++语言写游戏——打怪小游戏

    想玩游戏吗? 就到某位神犇这来吧! 这会告诉你很多游戏写法! 今天,神犇就开始书写第二期--打怪小游戏!!! 很容易,只需要用脑袋想想即可,READY--GO! 我也希望大家多多捧场哦~~~ 有一点点 ...

  2. c语言 倒计时不清屏_打字游戏超细讲解(C语言基础小游戏)

    首先我们会发现我们网上看到的打字游戏都是上来就敲代码,小白看的一脸懵,所以鑫哥在这给大家送上一份超级详细的打字游戏编写流程及对应的结果展示,希望可以帮到小白进行入门学习. 话不多说,我们先看一下什么叫 ...

  3. c语言经典游戏,C语言——经典小游戏——打砖块

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言--经典小游戏--打砖块 玩法:按A与D控制球拍的移动,按S暂停游戏 百度网盘下载:http://pan.baidu.com/s/1o64ECTc ...

  4. c语言2048代码linux,C语言2048小游戏课设(附源码).doc

    PAGE PAGE 1 C语言2048小游戏课设 项目说明 本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行.(书生) 项目运行截 ...

  5. c语言五子棋学年论文,基于c语言五子棋小游戏生本科论文.doc

    基于c语言五子棋小游戏生本科论文 五子棋小游戏 需求分析 现在有越来越多的人使用电脑,而且五子棋的受众广泛但实体棋操作较为繁琐且平时较难实现,所以电脑版的五子棋游戏应运而生.大家对于这个小游戏的需求如 ...

  6. Java控制台游戏~600行代码实现打怪小游戏

    Java控制台游戏~600行代码实现打怪小游戏(多图预警) 一,先放个启动界面(一些英雄,怪物技能介绍跟装备属性都写在里边): 二,在这个简单的小游戏里,你可以体验到: 1.打怪: 2.随机玩法寻宝: ...

  7. 用c语言编写的打字母游戏,用C语言编写小游戏——“井字棋”

    原标题:用C语言编写小游戏--"井字棋" 作者:Milo Yip 来源:知乎 原文链接:https://zhuanlan.zhihu.com/p/39581573 在 Milo Y ...

  8. 从零开始写C++打怪小游戏(1)

    大家好呀,我是yanxinchenji 最近开学了,作业有点多,停更了一段时间 当然,就算是开学,也抵挡不住我更新的激情!! 所以,我想教大家写一个c++的打怪游戏!!无缝剪辑 话不多说,我们开始吧! ...

  9. C语言自制小游戏:三子棋(井字棋)智能下棋补充

    目录 一.前期准备 二.逻辑与程序实现 1.连珠 ①横向连珠 ②纵向连珠 ③斜向连珠 ④函数完善 2.堵棋 ①横向堵棋 ②纵向堵棋 ③斜向堵棋 3.整理函数 ①整理AI_Computer函数 ②修改C ...

  10. C语言实现小游戏——模拟微信小游戏《最强飞刀手》

    C语言实现小游戏--模拟微信小游戏<最强飞刀手> 曾经玩过的微信小游戏,想着用C语言实现,只可惜,下图是我的上限. 这个下游戏界面简陋,把旋转的西瓜做成了平的接盘:实现的功能有:接盘的移动 ...

最新文章

  1. 李开复对谈张亚勤:科学家创业需要企业家伙伴,开放心态看待元宇宙 | MEET2022...
  2. 手游 android 分辨率 适配,安卓不得不玩的神作,十大超高画质手游(安卓)
  3. [JS]视频总结-第三部分_深入javascript
  4. 2018广技师C语言专插本试题,专插本2016广技师C语言专插本考试大纲已核对.doc
  5. vmware的vmdk格式虚拟机转换为kvm的qcow2格式
  6. 【mac】vmware tools 在菜单上显示灰色无法安装的问题
  7. 【Flink】Flink Elasticsearch client is not connected to any Elasticsearch nodes
  8. Spring : Transaction源码解析
  9. javascript必须懂之冒泡事件
  10. python中整型_实例介绍Python中整型
  11. BZOJ3171:[TJOI2013]循环格
  12. 网络计算机应急处理,网络安全应急响应
  13. python写出租车计费系统_出租车自动计费器设计(课程设计报告模板)
  14. python输入三个数形成各种三角形
  15. SQL Server安装中错误该性能计数器注册表配置单元已损坏。若要继续,必须修复该性能计数器注册表配置单元的解决
  16. 单片机diy作品鉴赏,初学者进来膜拜
  17. Oracle:cost耗费高的sql执行比cost耗费慢的效率快
  18. 使用 EPUB 制作数字图书(转发)
  19. linux内核区分光口电口吗,服务器网卡光口和电口的区别?
  20. 从一个CFS调度案例谈Linux系统卡顿的根源

热门文章

  1. 斯坦福大学乔布斯演讲之后的感悟
  2. ios开发之使用bundle来管理资源文件
  3. 一张图理解贝叶斯公式
  4. Redis Cluster集群搭建
  5. linux中中文转换程序,Linux下在程序中如何进行繁体中文和简体中文的转换
  6. PHP知识大全【高级】
  7. clamwin + 拖拽查毒+右键查毒
  8. 里氏代换原则(企鹅是不是鸟!)
  9. 支付宝转账支付宝转卡(H5飞行模式)
  10. 广告效果评估及评价体系