#include<stdio.h> #define DECISION “天地神游,观世间\n1 魂归肉身\n2 魂游九幽\n3 内视灵机\n4 魂寄大道”//待添加 #define DECISION2 “你想挑战的副本是:1.暗影界 2.幽冥界 3.虚空 \n”//待添加 void tbz(void);//天宝斋 void wjz(void);//万剑冢 void tjz(void);//天剑宗 void zdmk(void);//攻击 void lvup(void);//升级 void syeg(void);//深渊恶鬼 void syeg1(void); void syeg2(void);//完毕 void tm(void);//绝望天魔 void tm1(void); void tm2(void); void gr(void);//虚空鬼人 void gr1(void); void gr2(void); void maoxian(void); void pi(void);//人物 void cd(void);//存档 int hp=200000000,mp=2000000,sp,ex=0,p=500000,q=2000000,lv=100000,i=1,eak=0,edf=0,gd=10000000000000,viz=0,sh,tybosshp,x,hpboss,fb; int main(void)//主程序开始 { while(2>1) { while(x0) { printf("%s\n",DECISION); scanf("%d",&x); while(x1) { tjz(); viz=0; x=0; } while(x2) { maoxian(); x=0; } while(x3) { pi(); x=0; } while(x4) { cd(); x=0; } } } return 0; }//主程序到此处完结 void cd(void)//存档模块 { int du; printf(“汝之魂欲降身还是寄托?\n1 降身\n2 寄托\n3 还魂\n”); scanf("%d",&du); int a[]= {lv,hp,mp,ex,gd}; while(du1) { FILE fpRead=fopen(“data.txt”,“r”); int b[5]; for(int i=0; i<5; i++) { fscanf(fpRead,"%d “,&b[i]); a[i]=b[i]; } lv=a[0],hp=a[1],mp=a[2],ex=a[3],gd=a[4]; du=-1; } while(du2) { FILE *fpWrite=fopen(“data.txt”,“w”); for(int i=0; i<5; i++) { fprintf(fpWrite,"%d ",a[i]); } fclose(fpWrite); du=-1; } while(du3) { du=-1; } } void pi(void)//个人信息模块 { printf(” 个人信息 \n") ; printf(“姓名:无名\n”); printf(“称号:无上剑神,苍天剑帝,绝世剑仙,天剑宗宗主,人间首富,永恒发动机 \n”); printf(“境界:%d 生命:%d 灵气:%d 经验:%d 金币:%d \n”,lv,hp,mp,ex,gd); printf(“道法:1.暗夜突袭:%d 2.天剑九式:对手越强,伤害越高 3.苍天剑决:%d \n”,p,q); } void lvup(void)//升级模块 { while(ex>100lv)//把经验栏提出来,因为每个怪物经验不同 { printf(“境界提升,汝之等级为%d\n”,lv+1); p=p+300000; q=q+100000; ex=ex-1000000lv; lv=lv+1; hp=200000000+20lv; mp=2000000+2lv; } } void tjz(void)//天剑宗 { while(viz0) { printf(“魂魄归体,肉身处于宗门之内,忽有所感\n眺望远处云海,欲下山云游\n请选择目的\n1 万剑冢\n2 天宝斋\n3 神游天地\n”); scanf("%d",&viz); while(viz>=3) { printf(“天地神游,由此观心,魂寄大道\n”); viz=-1; } while(viz1) { wjz(); } while(viz2) { tbz(); } } } void wjz(void)//万剑冢 { while(viz1) { int wq=0,dj=1,cj=1; printf(“踏入此地,天地间万剑齐鸣\n随手一挥,灵机闪烁,面前只剩三把散发着决世威能的无上仙兵?\n1 干将莫邪\n2 轩辕剑\n3 诛仙剑\n4 离开\n”); scanf("%d",&wq); if(wq>2) { while(wq>3) { printf(“其他的剑过于垃圾,吾不屑拥有\n”); wq=0; } while(wq3) { printf(“你回到了宗门\n;”); viz=0; wq=0; } } else { while(wq1) { if(hp>5000) { if(dj=1) { printf(“汝用精血驯服了干将莫邪\n”); eak=100000; p=p+eak;//声明全局变量,装备加成攻击力 dj=0; wq=0; hp=-5000; } else { printf(“你已成功驯服\n”); } } else { printf(“血气亏空,无法驯服\n”); } wq=0; } while(wq2) { if(gd>20000) { if(cj=1) { printf(“汝成功驯服了轩辕剑,人黄气运加身\n”); eak=30; p=p+eak;//声明全局变量,装备加成攻击力 cj=0; hp=-20000; } else { printf(“汝已成功驯服\n”); } } else { printf(“精血不足\n”); } wq=0; } } } } void tbz(void)//天宝斋 { while(viz2) { int fj=0,bj=1,szj=1; printf(“无上剑仙,欢迎光临万宝斋\n小女为你服务?\n1 天蝉甲 50000金币\n2 天地袍 100000金币\n3 离开万宝斋\n”); scanf("%d",&fj); if(fj>2) { while(fj>3) { printf(“未开放,敬请期待\n”); fj=0; } while(fj3) { printf(“你回到了宗门\n;”); viz=0; fj=0; } } else { while(fj1) { if(gd>50000) { if(bj=1) { printf(“你购买了天蚕甲,此甲天下无双,无法重复购买\n”); bj=0; } else { printf(“你已经购买过了\n”); } } else { printf(“金币不足\n”); } fj=0; } while(fj==2) { if(gd>1000) { if(szj=1) { printf(“你购买了天地袍\n”); edf=7;//声明全局变量,装备加成攻击力 szj=0; } else { printf(“你已经购买过了\n”); } } else { printf(“金币不足\n”); } fj=0; } } } } void maoxian(void)//冒险模块 { printf("%s\n",DECISION2); scanf("%d",&fb); if(fb>3) { printf(“未开放请重新选择\n”); } else { switch (fb)//掉落物品 { case 1: syeg(); { printf(“斩妖除魔,天道中意,气运加身\n”); hp=+100000; } break; case 2: syeg(); { printf(“斩妖除魔,天地赐福”); mp=+100000; } tm(); { printf(“斩妖除魔,天道中意,气运加身\n”); hp=+500000; } break; case 3: syeg(); { printf(“斩妖除魔,天地赐福\n”); mp=+500000; } syeg();//同上 tm(); { printf(“斩妖除魔,天道中意,气运加身\n”); hp=+1000000; } gr(); { printf(“斩妖除魔,天地赐福\n”); mp=+1000000; } break; } } lvup(); { hp=200000000+20000lv; mp=2000000+200lv; } } void syeg(void)//怪物模块 { syeg1(); zdmk(); syeg2(); } void tm(void) { tm1(); zdmk(); tm2(); } void gr(void) { gr1(); zdmk(); gr2(); } void zdmk(void)//战斗模块 { while(hp>0&&tybosshp>0) { i=1; printf(“汝欲用何招式\n1.暗夜突袭 (造成%d点伤害,mp+1)\n2.天剑九式 (造成当前生命值百分之八的伤害,mp-3)\n3.苍天剑决 (造成%d点伤害,mp-5)\n”,p,q);//待添加 scanf("%d",&sp); while(4<sp) { printf(“招式选择错误,请重新选择\n”); sp=-1; } while(sp1) { tybosshp=tybosshp-p; mp++; printf(“汝用暗夜突袭对敌人造成%d点伤害,恢复生命,对手生命还有%d,汝之灵气还有%d\n”,p,tybosshp,mp); sp=0; } while(sp2) { while(mp>=30000&&sp==2) { sh=tybosshp0.08; tybosshp=tybosshp0.92; mp=mp-30000; printf(“你使用技能天剑九式对敌人造成%d点伤害,对手生命还有%d,汝之灵气还有%d\n”,sh,tybosshp,mp); sp=0; } while(mp<30000&&sp2) { printf(“mp不足30000点,无法释放技能天剑九式\n”); sp=-1; } } while(sp3) { while(mp>=50000&&sp3) { tybosshp=tybosshp-q; mp=mp-50000; sp=0; printf(“汝使用苍天剑决造成%d点伤害,敌人还有%d血量,汝之灵气还有%d\n”,q,tybosshp,mp);//待定 } while(mp<500&&sp3) { printf(“mp不足500点,无法释放苍天剑决 \n”); sp=-1; } } while(tybosshp>0&&sp==0) { if(tybosshp>hpboss0.1)//boss血量下降到10%以下暴怒 { sh=15+hp0.01-edf; hp=hp-sh; printf(“对手将利刃刺入,汝之生命减少%d点,汝之精血还有%d\n”,sh,hp); sp=-1; } else { printf(“对手变为狂暴状态”); sh=15+hpboss0.1-edf;//伤害提升 hp=hp-sh; printf(“对手使用绝望撕咬,汝之生命减少%d点,你还有%d点生命值\n”,sh,hp); sp=-1; } } } while(tybosshp<=0&&i1) { printf(“汝已击杀,天下安定!\n”); i=i+1; } while(hp<0&&i1) { printf(“汝已阵亡\n”); i=i+2; getchar(); printf(“汝已滴血重生复活\n”); hp=200+20lv; mp=20+2lv; } } void syeg1(void)//深渊恶鬼 { printf(“深渊恶鬼出现\n”); hpboss=1000000;//BOSS的生命值 tybosshp=hpboss; } void syeg2(void) { if(i2) { printf(“你获得2000ex,50000金币\n”);//怪物经验已全部调整 ex=ex+2000; gd=gd+5000; printf(“你的经验为%d\n”,ex); } else { printf(“继续努力吧\n”); } } void tm1(void)//绝望天魔 { printf(“绝望天魔出现\n”); hpboss=3000000;//BOSS的生命值 tybosshp=hpboss; } void tm2(void)//end { if (i2) { printf(“你获得10000ex,20000金币\n”); ex=ex+10000; gd=gd+20000; printf(“汝的经验为%d\n”,ex); } else { printf(“继续努力吧\n”); } } void gr1(void)//鬼人 { printf(“虚空鬼人出现\n”); hpboss=80000000;//BOSS的生命值 tybosshp=hpboss; } void gr2(void) { if(i==2) { printf(“你获得30000ex,50000金币\n”); ex=ex+30000; gd=gd+50000; printf(“汝的经验为%d\n”,ex); } else { printf(“继续努力吧\n”); } }