基础且易懂的ikun制作的《ikun历险记》文字游戏

您所在的位置:网站首页 ikun专属背景图文字 基础且易懂的ikun制作的《ikun历险记》文字游戏

基础且易懂的ikun制作的《ikun历险记》文字游戏

2023-06-12 08:56| 来源: 网络整理| 查看: 265

#include #include #include struct legend{ char name[30]; int hp; int health; int damage; int level; }; struct monsters{ char name[30]; int hp; int damage; }; void suffer(struct legend *a,int event); void opportunity(struct legend *a,int event); void fight(struct legend *a,int event,struct monsters mon); void plus(struct legend *a,int event); int main() { char a; int things,dragon=0,open=0; struct legend man; printf("II___ikun历险记___II\n********************\n [输入您的名字]\n********************\n"); struct monsters mon[4]={{"嚎啸马",40,13},{"泥醉嚎狮",80,6},{"梅狸猫",65,12},{"珍德食泥鸭",80,10}}; /*for(int z=0;z=95) { things-=5; printf("还剩%d回合",10-dragon); } int event=rand()%4+1; if(things10&&things30&&things50&&things80&&thingshp+=50; break; default: printf("你偶然捡到鸽鸽的CD,观看后,悟出只因大道,各项能力增加\n"); a->hp+=20; a->damage+=5; a->health+=2; } } void suffer(struct legend *a,int event) { switch(event) { case 1: printf("遭到一群小黑子的攻击,健康值-3,生命值-35\n"); a->health-=3; a->hp-=25; break; case 2: char c; printf("你在一空旷处看到了一枚篮球,是否要去捡?\n是(y)\t否(n)\n"); scanf("\n%c",&c); if(c=='n') { printf("你觉得没有必要冒险,跑了\n"); break; } else if(c!='y') { printf("按其它键默认捡篮球\n"); c='y'; } if(c=='y') { int b=rand()%3; if(b==0) { printf("你成功拿到篮球,没有任何阻碍,拥有了一个篮球,你的伤害+10\n"); a->damage+=10; } else if(b==1) { printf("你被一群虾头男偷袭,不得已逃跑,生命值-30\n"); a->hp-=30; } else { printf("这个篮球是陷阱,你被一群鸽鸽的女粉丝围攻,健康值-8\n"); a->health-=8; } } break; case 3: printf("你遇到一群强盗,是拼死抵抗还是屈服缴械?\n抵抗(y)\t缴械(n)\n"); char b; scanf("\n%c",&b); if(b=='n') { printf("你知道拼死抵抗会吃亏,于是乖乖上缴武器(hp-15;damage-7)\n"); a->hp-=15; a->damage-=7; } else if(b!='y'&&b!='n') { printf("按其它键默认抵抗"); b='y'; } if(b=='y') { int hp,health,damage; if(a->damage>=30&&a->damagedamage>=60) { hp=15;health=1;damage=4; } else { hp=35;health=3;damage=10; } printf("你与强盗交手,打退了强盗,因此也受伤(hp-%d;health-%d;damage+%d)\n",hp,health,damage); a->hp-=hp; a->health-=health; a->damage+=damage; } break; default: printf("你误打误撞地走进一个山洞,里面有练习两年半的得道高鸡,你被他打至重伤,生命值-60\n"); a->hp-=60; break; } } void plus(struct legend *a,int event) { int i=0; switch(event) { case 1: printf("你得到一本《武林秘鸡》,修炼之后等级提升1\n"); i++; break; case 2: printf("受到高人指点,等级提升1\n"); i++; break; case 3: printf("找到一处风水宝地,修炼三天,等级提升2\n"); i+=2; break; default: printf("遇到一个神秘商人,他说他也是ikun,所以可以赠送一本秘鸡,但是需要靠自己的运气\n(三本中只有一本是秘鸡,在第一本(1),第二本(2),第三本(3),中任选其一)\n"); int m,n; scanf("\n%d",&n); m=rand()%3+1; if(n==m) { printf("你运气很好,抽到了秘鸡,修炼之后等级+3\n"); i+=3; } else { printf("很可惜,你没抽到秘鸡\n"); } break; } for(i;i>0;i--) { int k; printf("每升一级可以选择一项加成,请选择您要给人物所加的属性:\n生命+10(1)\t健康值+2(2)\t伤害+2(3)"); scanf("%d",&k); if(k!=1&&k!=2&&k!=3) { printf("按其它键默认加生命值"); a->hp+=10; } if(k==2) a->health+=2; else if(k==3) a->damage+=2; else if(k==1) a->hp+=10; a->level++; } } void fight(struct legend *a,int event,struct monsters mon) { char n; printf("你遇到了%s:\nhp=%d\ndamage=%d\n是否与其对战?\n对战(y)\t逃跑(n)\n",mon.name,mon.hp,mon.damage); scanf("\n%c",&n); if(n=='n') { printf("你觉得不敌,于是逃跑(逃跑会受到怪物造成的一次伤害),且一无所获\n"); a->hp-=mon.damage; } else if(n!='y'&&n!='n') { printf("按其它键默认对战\n"); n='y'; } if(n=='y') { int i=0; for(;mon.hp>0;i++) { mon.hp-=a->damage; } printf("你受到了%d的伤害,但是打败了%s,等级+1\n",i*mon.damage,mon.name); a->hp-=i*mon.damage; a->level+=1; switch(event) { case 1: printf("你吃掉了马鞭,健康值+5\n"); a->health+=5; break; case 2: printf("你拔下了狮子的牙齿,伤害+5\n"); a->damage+=5; break; case 3: printf("你拿梅狸猫的答辩泡了杯猫屎咖啡,生命值+10\n"); a->hp+=10; break; default: printf("你吃了鸭爪,等级+1\n"); a->level++; break; } } }

 

因为这也是短时间内写出来的,有许多明显的缺陷,例如必须要输入一个随机按键才可继续运行,或者一些bug等等;

加上基础不是很扎实,代码太长且些许多余,这里我会在之后的学习中更加精进。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3