可以玩,但很不全,全版本没写完就丢了,纯是我写来练手玩的,不精简
youxi1.h
#include "stdio.h"
#include "stdlib.h"
#include "shuxing.h"
#include "xinjian.h"
#include "math.h"
#include "time.h"
struct zhujue jishizhujue;
struct guaiwu jguaiwu={10,6,2,1,3,2,1,1,1,1,1,10,1,0};
int zhangjingyan,tempjingyan;
void baocun();//保存函数
void bianyi();//怪物变异函数
void jixu();//读取信息函数
void guaiwugongji();//怪物攻击函数
void youxi();//开始游戏函数
void maidongxi();//买东西函数
void shengji();//升级函数
void shengli();//胜利计算函数
void sudu();//计算速度,判断攻击
void zhandou();//战斗函数
void zhujuegongji();//主角攻击函数
void baocun()
{
FILE *fp;
if((fp=fopen("zhujue.blms","w+"))==NULL)
{
printf("程序意外退出,游戏并未保存成功");
system("pause");
exit(0);
}
int tempbaocun;
putw(jishizhujue.hp,fp);
putw(jishizhujue.mp ,fp);
tempbaocun=jishizhujue.sd *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.sb *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.gj *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.fy *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.jnj *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.jnm *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.jns *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.jnh *10000;
putw(tempbaocun,fp);
tempbaocun=jishizhujue.jnt *10000;
putw(tempbaocun,fp);
putw(jishizhujue.sxd ,fp);
putw(jishizhujue.jq ,fp);
putw(jishizhujue.dj ,fp);
putw(jishizhujue.jy ,fp);
putw(jishizhujue.xjy ,fp);
putw(jishizhujue.bjy ,fp);
putw(jishizhujue.syhp ,fp);
putw(jishizhujue.symp ,fp);
fclose(fp);
}
void bianyi()
{
printf("不好了,怪物变异了!");
int temp,temp2;
temp=jguaiwu.dj-1 ;
jguaiwu.hp =10;
jguaiwu.mp =6;
jguaiwu.sd =2;
jguaiwu.sb =1;
jguaiwu.gj =3;
jguaiwu.fy =2;
jguaiwu.jnj =jguaiwu.jnm =jguaiwu.jns =jguaiwu.jnh =jguaiwu.jnt =1;
for(int i=0;i<temp;i++)
{
jguaiwu.hp =jguaiwu.hp * 1.15;//计算怪物血量
jguaiwu.mp =jguaiwu.mp * 1.15;//计算怪物魔法值
jguaiwu.sd =jguaiwu.sd *1.03;//计算怪物速度
jguaiwu.sb =jguaiwu.sb *1.03;//计算闪避
jguaiwu.gj =jguaiwu.gj *1.03;//计算攻击
jguaiwu.fy =jguaiwu.fy *1.03;//计算防御
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jq=jguaiwu.jq*1.08;//计算金钱1
}
zhangjingyan=jguaiwu.hp /10;
temp2=rand()%5;
switch(temp2)
{
case 0:jguaiwu.jnj=jguaiwu.jnj*1.38;
jguaiwu.jn=0;break;
case 1:jguaiwu.jnm=jguaiwu.jnm*1.38;
jguaiwu.jn=1;break;
case 2:jguaiwu.jns=jguaiwu.jns*1.38;
jguaiwu.jn=2;break;
case 3:jguaiwu.jnh=jguaiwu.jnh*1.38;
jguaiwu.jn=3;break;
case 4:jguaiwu.jnt=jguaiwu.jnt*1.38;
jguaiwu.jn=4;
}//确定主技能
temp2=rand()%80-40;
jguaiwu.jq=jguaiwu.jq+jguaiwu.jq*temp2/100;
}
void guaiwugongji()
{
int temp,cishu=0;
float baojilv,baoji;
temp=rand()%10;
if(temp<4)
{
cishu++;
if(cishu>jguaiwu.dj )
{
temp=6;
}
}
if(temp<4)
{
printf("怪物用大招了!");
baojilv=jguaiwu.sb /(2*jishizhujue.sb)*100;
if(baojilv<(rand()%100+1))
baoji=1;
else
{
baoji=1.1;
printf("同时暴击了/n");
}
switch(jguaiwu.jn)
{
case 0:if((jguaiwu.gj +jguaiwu.jnj-jishizhujue.fy *0.6-jishizhujue.jnj *0.5)*baoji>0)
{
jishizhujue.hp =jishizhujue.hp -((jguaiwu.gj +jguaiwu.jnj-jishizhujue.fy *0.6-jishizhujue.jnj *0.5))*baoji;
printf("/n它用金技能打掉了你%g的血!/n你就剩%d的血了!,怪物还有%d点/n/n/n/n",(jguaiwu.gj +jguaiwu.jnj-jishizhujue.fy *0.6-jishizhujue.jnj *0.5)*baoji,jishizhujue.hp,jguaiwu.hp );
}
else
printf("怪物没有破掉你的防/n/n/n/n");
break;
case 1:if((jguaiwu.gj +jguaiwu.jnm-jishizhujue.fy *0.6-jishizhujue.jnm *0.5)*baoji>0)
{
jishizhujue.hp =jishizhujue.hp -((jguaiwu.gj +jguaiwu.jnm-jishizhujue.fy *0.6-jishizhujue.jnm *0.5))*baoji;
printf("/n它用木技能打掉了你%g的血!/n你就剩%d的血了!,怪物还有%d点/n/n/n/n",(jguaiwu.gj +jguaiwu.jnm-jishizhujue.fy *0.6-jishizhujue.jnj *0.5)*baoji,jishizhujue.hp ,jguaiwu.hp );
}
else
printf("怪物没有破掉你的防/n/n/n/n");
break;
case 2:if((jguaiwu.gj +jguaiwu.jns-jishizhujue.fy *0.6-jishizhujue.jns *0.5)*baoji>0)
{
jishizhujue.hp =jishizhujue.hp -((jguaiwu.gj +jguaiwu.jns-jishizhujue.fy *0.6-jishizhujue.jns *0.5))*baoji;
printf("/n它用水技能打掉了你%g的血!/n你就剩%d的血了!,怪物还有%d点/n/n/n/n",(jguaiwu.gj +jguaiwu.jns-jishizhujue.fy *0.6-jishizhujue.jnj *0.5)*baoji,jishizhujue.hp,jguaiwu.hp );
}
else
printf("怪物没有破掉你的防/n/n/n/n");
break;
case 3:if((jguaiwu.gj +jguaiwu.jnh-jishizhujue.fy *0.6-jishizhujue.jnh *0.5)*baoji>0)
{
jishizhujue.hp =jishizhujue.hp -((jguaiwu.gj +jguaiwu.jnh-jishizhujue.fy *0.6-jishizhujue.jnh *0.5))*baoji;
printf("/n它用火技能打掉了你%g的血!/n你就剩%d的血了!,怪物还有%d点/n/n/n/n",(jguaiwu.gj +jguaiwu.jnh-jishizhujue.fy *0.6-jishizhujue.jnj *0.5)*baoji,jishizhujue.hp ,jguaiwu.hp );
}
else
printf("怪物没有破掉你的防/n/n/n/n");
break;
case 4:if((jguaiwu.gj +jguaiwu.jnt-jishizhujue.fy *0.6-jishizhujue.jnt *0.5)*baoji>0)
{
jishizhujue.hp =jishizhujue.hp -((jguaiwu.gj +jguaiwu.jnt-jishizhujue.fy *0.6-jishizhujue.jnt *0.5))*baoji;
printf("/n它用土技能打掉了你%g的血!/n你就剩%d的血了!,怪物还有%d点/n/n/n/n",(jguaiwu.gj +jguaiwu.jnt-jishizhujue.fy *0.6-jishizhujue.jnj *0.5)*baoji,jishizhujue.hp,jguaiwu.hp );
}
else
printf("怪物没有破掉你的防/n/n/n/n");
break;
}
}
else
{
printf("怪物硬砍了!");
baojilv=jguaiwu.sb /50*jishizhujue.sb ;
if(baojilv<(rand()%100+1))
baoji=1;
else
{
baoji=1.1;
printf("同时暴击了/n");
}
if((jguaiwu.gj -jishizhujue.fy *0.6)*baoji>0)
{
jishizhujue.hp =jishizhujue.hp -(jguaiwu.gj -jishizhujue.fy *0.6)*baoji;
printf("它硬砍掉了你%g的血/n你就剩%d的血了!怪物还有%d点/n/n/n/n",(jguaiwu.gj -jishizhujue.fy *0.6)*baoji,jishizhujue.hp,jguaiwu.hp);
}
else
printf("怪物没有破掉你的防/n/n/n/n");
}
}
void jixu()//读取信息函数
{
FILE *fp;
if((fp=fopen("zhujue.blms","r+"))==NULL)
{
printf("程序意外退出,游戏并未建立成功");
system("pause");
exit(0);
}
jishizhujue.hp =getw(fp);
jishizhujue.mp =getw(fp);
jishizhujue.sd =(float)(getw(fp))/10000;
jishizhujue.sb =(float)(getw(fp))/10000;
jishizhujue.gj =(float)(getw(fp))/10000;
jishizhujue.fy =(float)(getw(fp))/10000;
jishizhujue.jnj =(float)(getw(fp))/10000;
jishizhujue.jnm =(float)(getw(fp))/10000;
jishizhujue.jns =(float)(getw(fp))/10000;
jishizhujue.jnh =(float)(getw(fp))/10000;
jishizhujue.jnt =(float)(getw(fp))/10000;
jishizhujue.sxd =getw(fp);
jishizhujue.jq =getw(fp);
jishizhujue.dj =getw(fp);
jishizhujue.jy =getw(fp);
jishizhujue.xjy =getw(fp);
jishizhujue.bjy =getw(fp);
jishizhujue.syhp =getw(fp);
jishizhujue.symp =getw(fp);
}
void maidongxi()
{
system("cls");
int xuanze;
printf("欢迎光临");
do
{
printf("您的可用金钱为%d/n按1买血/n按2买魔法/n按3买攻击/n按4买防御/n按5买速度/n按6买闪避/n按0退出买东西",jishizhujue.jq);
scanf("%d",&xuanze);
switch(xuanze)
{
case 1:int mxue;
printf("请输入您要买的血量,一个金币一点/n");
scanf("%d",&mxue);
if(mxue>jishizhujue.jq)
{
printf("对不起,你没有那么多的钱,请仔细考虑!/n");
system("pause");
}
else
{
jishizhujue.hp=jishizhujue.hp+mxue;
jishizhujue.jq=jishizhujue.jq-mxue;
printf("您买了%d点生命值/n",mxue);
system("pause");
}
system("cls");
break;
case 2:int mmo;
printf("请输入您要买的魔法量,一个金币一点/n");
scanf("%d",&mmo);
if(mmo>jishizhujue.jq)
{
printf("对不起,你没有那么多的钱,请仔细考虑!/n");
system("pause");
}
else
{
jishizhujue.mp=jishizhujue.mp+mmo;
jishizhujue.jq=jishizhujue.jq-mmo;
printf("您买了%d点魔法值/n",mmo);
system("pause");
}
system("cls");
break;
case 3:int mgong;
printf("请输入您要买的攻击,您的等级乘10的金币买一点/n");
scanf("%d",&mgong);
if(mgong*(jishizhujue.dj*10)>jishizhujue.jq)
{
printf("对不起,你没有那么多的钱,请仔细考虑!/n");
system("pause");
}
else
{
jishizhujue.gj=jishizhujue.gj+mgong;
jishizhujue.jq=jishizhujue.jq-(mgong*(jishizhujue.dj*10));
printf("您买了%d点攻击/n",mgong);
system("pause");
}
system("cls");
break;
case 4:int mfang;
printf("请输入您要买的防御,您的等级乘10的金币买一点/n");
scanf("%d",&mfang);
if(mfang*(jishizhujue.dj*10)>jishizhujue.jq)
{
printf("对不起,你没有那么多的钱,请仔细考虑!/n");
system("pause");
}
else
{
jishizhujue.fy=jishizhujue.fy+mfang;
jishizhujue.jq=jishizhujue.jq-(mfang*(jishizhujue.dj*10));
printf("您买了%d点防御/n",mfang);
system("pause");
}
system("cls");
break;
case 5:int msudu;
printf("请输入您要买的速度点,您的等级乘30的金币买一点/n");
scanf("%d",&msudu);
if(msudu*(jishizhujue.dj*30)>jishizhujue.jq)
{
printf("对不起,你没有那么多的钱,请仔细考虑!/n");
system("pause");
}
else
{
jishizhujue.sd=jishizhujue.sd+msudu;
jishizhujue.jq=jishizhujue.jq-(msudu*(jishizhujue.dj*30));
printf("您买了%d点速度/n",msudu);
system("pause");
}
system("cls");
break;
case 6:int mshanbi;
printf("请输入您要买的闪避点,您的等级乘30的金币买一点/n");
scanf("%d",&mshanbi);
if(mshanbi*(jishizhujue.sb*30)>jishizhujue.jq)
{
printf("对不起,你没有那么多的钱,请仔细考虑!/n");
system("pause");
}
else
{
jishizhujue.sb=jishizhujue.sb+mshanbi;
jishizhujue.jq=jishizhujue.jq-(mshanbi*(jishizhujue.dj*30));
printf("您买了%d点闪避/n",mshanbi);
system("pause");
}
system("cls");
break;
case 0:break;
default:printf("请输入有效数字/n");
system("pause");
system("cls");
}
}while(xuanze!=0);
}
void main()
{
srand((unsigned)time(NULL)); /*随机种子*/
int xuanze;
printf("欢迎进入游戏,请选择您要做的事情!/n1.新建游戏档案/n2.读取游戏并继续/n0.退出游戏/n");
do
{
scanf("%d",&xuanze);
switch(xuanze)
{
case 1:xinjian();
case 2:jixu();youxi();break;
case 0:baocun();exit(0);
default:printf("/n请输入有效字符");
system("pause");
xuanze=3;
system("cls");
printf("请选择您要做的事情!/n1.新建游戏档案/n2.读取游戏并继续/n0.退出游戏/n");
}
}while(xuanze==3);
}
void shengji()
{
printf("升级了!");
system("pause");
jishizhujue.hp =jishizhujue.hp *1.2;
jishizhujue.mp =jishizhujue.mp *1.2;
jishizhujue.sxd =jishizhujue.sxd +2;
jishizhujue.gj =jishizhujue.gj *1.02;
jishizhujue.fy =jishizhujue.fy *1.02;
jishizhujue.dj ++;
jishizhujue.bjy=jishizhujue.bjy *1.2;
jishizhujue.xjy =jishizhujue.bjy ;
jishizhujue.jy =0;
}
void shengli()
{
jishizhujue.jy =jishizhujue.jy +zhangjingyan;
jishizhujue.xjy =jishizhujue.xjy -zhangjingyan;
if(jishizhujue.xjy <=0)
shengji();
else
{
baocun();
}
jishizhujue.jq =jishizhujue.jq +jguaiwu.jq ;
}
void sudu()//计算速度判断攻击
{
int control=1,temp=jishizhujue.sd ,temp1=jishizhujue.sd ,ybianyi;
while(control)
{
ybianyi=rand()%300;
if(ybianyi<1)
bianyi();
jishizhujue.sd-=1;
jguaiwu.sd -=1;
if(jishizhujue.sd<=0)
{
zhujuegongji();
if(jguaiwu.sd <=0&&jguaiwu.hp >0)
{
guaiwugongji();
jguaiwu.sd =temp1;
}
jishizhujue.sd =temp;
}
else if(jguaiwu.sd <=0)
{
guaiwugongji();
jguaiwu.sd =temp1;
}
else ;
if(jishizhujue.hp <=0||jguaiwu.hp <=0)
{
jishizhujue.sd=temp;
if(jishizhujue.hp <=0)
{
printf("/n很不幸的,你被怪物强奸了,给你一点血,逃命去吧!");
system("pause");
system("cls");
jishizhujue.hp =1;
baocun();
}
else
{
shengli();
control=0;
}
control=0;
}
}
}
void youxi()//开始游戏函数
{
int xuanze,jiashuxing;
do
{
system("cls");
printf("按1显示基本信息/n按2显示技能/n按3显示其他信息/n按4买东西/n按5开始战斗/n按6加属性点/n按0退出/n");
scanf("%d",&xuanze);
switch(xuanze)
{
case 1:printf("生命%d,魔法%d,速度%g,闪避%g,攻击%g,/n防御%g,属性点%d,等级%d,经验%d,剩余经验%d/n",jishizhujue.hp,jishizhujue.mp,jishizhujue.sd,jishizhujue.sb,jishizhujue.gj,jishizhujue.fy,jishizhujue.sxd,jishizhujue.dj,jishizhujue.jy,jishizhujue.xjy);
system("pause");
system("cls");
break;
case 2:printf("金技能%g,木技能%g,水技能%g,火技能%g,土技能%g/n,",jishizhujue.jnj,jishizhujue.jnm,jishizhujue.jns,jishizhujue.jnh,jishizhujue.jnt);
system("pause");
system("cls");
break;
case 3:printf("钱%d,可加血量%d,可加魔法%d/n",jishizhujue.jq,jishizhujue.syhp,jishizhujue.symp);
system("pause");
system("cls");
break;
case 4:maidongxi();
break;
case 5:zhandou();
break;
case 6:system("cls");
do
{
system("cls");
printf("您还有%d点可用点/n按1加速度/n按2加闪避/n按3加攻击/n按4加防御/n按0退出加点/n",jishizhujue.sxd );
scanf("%d",&jiashuxing);
switch(jiashuxing)
{
case 1:if(jishizhujue.sxd >=1)
{
jishizhujue.sd++;
printf("您的速度加了一点,现在为%g点",jishizhujue.sd );
system("pause");
jishizhujue.sxd -=1;
}break;
case 2:if(jishizhujue.sxd >=1)
{
jishizhujue.sb ++;
printf("您的闪避加了一点,现在为%g点",jishizhujue.sb );
system("pause");
jishizhujue.sxd -=1;
}break;
case 3:if(jishizhujue.sxd >=1)
{
jishizhujue.gj ++;
printf("您的攻击加了一点,现在为%g点",jishizhujue.gj);
system("pause");
jishizhujue.sxd -=1;
}break;
case 4:if(jishizhujue.sxd >=1)
{
jishizhujue.fy ++;
printf("您的防御加了一点,现在为%g点",jishizhujue.fy );
system("pause");
jishizhujue.sxd -=1;
}break;
case 0:break;
default:printf("请输入有效数字!/n");system("pause");
}
}while(jiashuxing!=0);break;
case 0:baocun();exit(0);
default:printf("请输入有效字符");
system("pause");
}
}while(xuanze!=0);
}
void zhandou ()//战斗函数
{
int xuanze;//选择界面
do
{
printf("请输入您到对付的怪物的等级,按0退出战斗/n");
scanf("%d",&xuanze);
jguaiwu.hp =10;
jguaiwu.mp =6;
jguaiwu.sd =2;
jguaiwu.sb =1;
jguaiwu.gj =3;
jguaiwu.fy =2;
jguaiwu.jnj =jguaiwu.jnm =jguaiwu.jns =jguaiwu.jnh =jguaiwu.jnt =1;
jguaiwu.jq =10;
jguaiwu.dj =1;
if(xuanze==0);
else
{
int temp,temp2;
temp=xuanze-jguaiwu.dj ;
for(int i=0;i<temp;i++)
{
jguaiwu.hp =jguaiwu.hp * 1.15;//计算怪物血量
jguaiwu.mp =jguaiwu.mp * 1.15;//计算怪物魔法值
jguaiwu.sd =jguaiwu.sd *1.03;//计算怪物速度
jguaiwu.sb =jguaiwu.sb *1.03;//计算闪避
jguaiwu.gj =jguaiwu.gj *1.03;//计算攻击
jguaiwu.fy =jguaiwu.fy *1.03;//计算防御
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jnj=jguaiwu.jnj*1.03;
jguaiwu.jq=jguaiwu.jq*1.08;//计算金钱1
}
jguaiwu.dj =xuanze;
zhangjingyan=jguaiwu.hp /10;//计算能获得的经验
temp2=rand()%5;
switch(temp2)
{
case 0:jguaiwu.jnj=jguaiwu.jnj*1.38;
jguaiwu.jn=0;break;
case 1:jguaiwu.jnm=jguaiwu.jnm*1.38;
jguaiwu.jn=1;break;
case 2:jguaiwu.jns=jguaiwu.jns*1.38;
jguaiwu.jn=2;break;
case 3:jguaiwu.jnh=jguaiwu.jnh*1.38;
jguaiwu.jn=3;break;
case 4:jguaiwu.jnt=jguaiwu.jnt*1.38;
jguaiwu.jn=4;
}//确定主技能
temp2=rand()%80-40;
jguaiwu.jq=jguaiwu.jq+jguaiwu.jq*temp2/100;
sudu();
}
}while(xuanze!=0);
}
void zhujuegongji()
{
printf("终于轮到你攻击了/n");
int xuanze;
float baojilv,baoji;
do
{
baojilv=jishizhujue.sb /(2*jguaiwu.sb)*100;
if(baojilv<(rand()%100+1))
baoji=1;
else
{
baoji=1.1;
}
printf("请输入你要做的事情");
scanf("%d",&xuanze);
switch(xuanze)
{
case 1:if(jishizhujue.mp -jishizhujue.jnj>=0)
{
if((jishizhujue.gj +jishizhujue.jnj-jguaiwu.fy *0.6-jguaiwu.jnj *0.5)*baoji>0)
{
jguaiwu.hp =jguaiwu.hp -(jishizhujue.gj +jishizhujue.jnj-jguaiwu.fy *0.6-jguaiwu.jnj *0.5)*baoji;
if(baoji==1.1)
printf("你用的金技能,同时暴击,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jnj-jguaiwu.fy *0.6-jguaiwu.jnj *0.5)*baoji);
else
printf("你用的金技能,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jnj-jguaiwu.fy *0.6-jguaiwu.jnj *0.5));
jishizhujue.mp =jishizhujue.mp -jishizhujue.jnj ;
if(jguaiwu.hp >0)
printf("你还剩%d的血,%d的魔,它还剩%d的血,加油啊!/n/n",jishizhujue.hp ,jishizhujue.mp ,jguaiwu.hp );
else
printf("胜利啦!/n");
jishizhujue.jnj =jishizhujue.jnj *1.01;
}
else
printf("很遗憾,你没破掉怪物的防御");
}
else
{
printf("你的魔法值不够了/n");
system("pause");
xuanze=0;
}
break;
case 2:if(jishizhujue.mp -jishizhujue.jnm>=0)
{
if((jishizhujue.gj +jishizhujue.jnm-jguaiwu.fy *0.6-jguaiwu.jnm *0.5)*baoji>0)
{
jguaiwu.hp =jguaiwu.hp -(jishizhujue.gj +jishizhujue.jnm-jguaiwu.fy *0.6-jguaiwu.jnm *0.5)*baoji;
if(baoji==1.1)
printf("你用的金技能,同时暴击,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jnm-jguaiwu.fy *0.6-jguaiwu.jnm *0.5)*baoji);
else
printf("你用的金技能,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jnm-jguaiwu.fy *0.6-jguaiwu.jnm *0.5));
jishizhujue.mp =jishizhujue.mp -jishizhujue.jnm ;
if(jguaiwu.hp >0)
printf("你还剩%d的血,%d的魔,它还剩%d的血,加油啊!/n/n",jishizhujue.hp ,jishizhujue.mp ,jguaiwu.hp );
else
printf("胜利啦!/n");
jishizhujue.jnm =jishizhujue.jnm *1.01;
}
else
printf("很遗憾,你没破掉怪物的防御");
}
else
{
printf("你的魔法值不够了/n");
system("pause");
xuanze=0;
}
break;
case 3:if(jishizhujue.mp -jishizhujue.jns>=0)
{
if((jishizhujue.gj +jishizhujue.jns-jguaiwu.fy *0.6-jguaiwu.jns *0.5)*baoji>0)
{
jguaiwu.hp =jguaiwu.hp -(jishizhujue.gj +jishizhujue.jns-jguaiwu.fy *0.6-jguaiwu.jns *0.5)*baoji;
if(baoji==1.1)
printf("你用的水技能,同时暴击,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jns-jguaiwu.fy *0.6-jguaiwu.jns *0.5)*baoji);
else
printf("你用的水技能,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jns-jguaiwu.fy *0.6-jguaiwu.jns *0.5));
jishizhujue.mp =jishizhujue.mp -jishizhujue.jns ;
if(jguaiwu.hp >0)
printf("你还剩%d的血,%d的魔,它还剩%d的血,加油啊!/n/n",jishizhujue.hp ,jishizhujue.mp ,jguaiwu.hp );
else
printf("胜利啦!/n");
jishizhujue.jns =jishizhujue.jns *1.01;
}
else
printf("很遗憾,你没破掉怪物的防御");
}
else
{
printf("你的魔法值不够了/n");
system("pause");
xuanze=0;
}
break;
case 4:if(jishizhujue.mp -jishizhujue.jnh>=0)
{
if((jishizhujue.gj +jishizhujue.jnh-jguaiwu.fy *0.6-jguaiwu.jnh *0.5)*baoji>0)
{
jguaiwu.hp =jguaiwu.hp -(jishizhujue.gj +jishizhujue.jnh-jguaiwu.fy *0.6-jguaiwu.jnh *0.5)*baoji;
if(baoji==1.1)
printf("你用的火技能,同时暴击,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jnh-jguaiwu.fy *0.6-jguaiwu.jnh *0.5)*baoji);
else
printf("你用的火技能,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jnh-jguaiwu.fy *0.6-jguaiwu.jnh *0.5));
jishizhujue.mp =jishizhujue.mp -jishizhujue.jnh ;
if(jguaiwu.hp >0)
printf("你还剩%d的血,%d的魔,它还剩%d的血,加油啊!/n/n",jishizhujue.hp ,jishizhujue.mp ,jguaiwu.hp );
else
printf("胜利啦!/n");
jishizhujue.jnh =jishizhujue.jnh *1.01;
}
else
printf("很遗憾,你没破掉怪物的防御");
}
else
{
printf("你的魔法值不够了/n");
system("pause");
xuanze=0;
}
break;
case 5:if(jishizhujue.mp -jishizhujue.jnt>=0)
{
if((jishizhujue.gj +jishizhujue.jnt-jguaiwu.fy *0.6-jguaiwu.jnt *0.5)*baoji>0)
{
jguaiwu.hp =jguaiwu.hp -(jishizhujue.gj +jishizhujue.jnt-jguaiwu.fy *0.6-jguaiwu.jnt *0.5)*baoji;
if(baoji==1.1)
printf("你用的土技能,同时暴击,打掉了怪物%g的血/n/n",(jishizhujue.gj +jishizhujue.jnt-jguaiwu.fy *0.6-jguaiwu.jnt *0.5)*baoji);
else
printf("你用的土技能,打掉了怪物%g的血/n",(jishizhujue.gj +jishizhujue.jnt-jguaiwu.fy *0.6-jguaiwu.jnt *0.5));
jishizhujue.mp =jishizhujue.mp -jishizhujue.jnt ;
if(jguaiwu.hp >0)
printf("你还剩%d的血,%d的魔,它还剩%d的血,加油啊!/n/n",jishizhujue.hp ,jishizhujue.mp ,jguaiwu.hp );
else
printf("胜利啦!/n");
jishizhujue.jnt =jishizhujue.jnt *1.01;
}
else
printf("很遗憾,你没破掉怪物的防御");
}
else
{
printf("你的魔法值不够了/n");
system("pause");
xuanze=0;
}
break;
case 6:if((jishizhujue.gj-jguaiwu.fy )*baoji>0)
{
printf("你硬砍掉了怪物%g点血/n",(jishizhujue.gj-jguaiwu.fy )*baoji);
jguaiwu.hp =jguaiwu.hp -(jishizhujue.gj -jguaiwu.fy )*baoji;
if(jguaiwu.hp >0)
{
printf("你还剩%d点的血,%d点的魔,怪物还有%d点的血,加油啊!/n/n",jishizhujue.hp ,jishizhujue.mp ,jguaiwu.hp );
}
else
{
printf("胜利啦!/n");
}
}
else
printf("很遗憾,你没破掉怪物的防御");
break;
default:printf("/n请输入有效数字/n");
system("pause");
system("cls");
xuanze=0;
}
}while(xuanze==0);
}
shuxing.h
struct zhujue
{
int mp;
int hp;
float sd;
float sb;
float gj;
float fy;
float jnj;
float jnm;
float jns;
float jnh;
float jnt;
int sxd;
int jq;
int dj;
int jy;
int xjy;
int bjy;
int syhp;
int symp;
};
struct guaiwu
{
int hp;
int mp;
float sd;
float sb;
float gj;
float fy;
float jnj;
float jnm;
float jns;
float jnh;
float jnt;
int jq;
int dj;
int jn;
};
xinjian.h
void xinjian()
{
FILE *fp;
int mima;
printf("为了防止误按,请输入密码!");
scanf("%d",&mima);
if(mima!=54919487)
{
printf("输入密码错误,程序退出!");
system("pause");
exit(0);
}
if((fp=fopen("zhujue.blms","w+"))==NULL)
{
printf("程序意外退出,游戏并未建立成功");
exit(0);
}
putw(10,fp);
putw(8,fp);
putw(20000,fp);
putw(10000,fp);
putw(30000,fp);
putw(20000,fp);
putw(10000,fp);
putw(10000,fp);
putw(10000,fp);
putw(10000,fp);
putw(10000,fp);
putw(1,fp);
putw(0,fp);
putw(1,fp);
putw(0,fp);
putw(20,fp);
putw(20,fp);
putw(0,fp);
putw(0,fp);
fclose(fp);
printf("游戏数据已经建立,请继续游戏!");
system("pause");
}