基础且易懂的ikun制作的《ikun历险记》文字游戏 |
您所在的位置:网站首页 › ikun专属背景图文字 › 基础且易懂的ikun制作的《ikun历险记》文字游戏 |
#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 |