简单的控制台小游戏

可以玩,但很不全,全版本没写完就丢了,纯是我写来练手玩的,不精简

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");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值