⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actor.c

📁 Cat Tom 兄弟的力作.代码是纯C写的
💻 C
字号:
/******************************************/
/*                 actor.c                */
/*                                        */
/*          水晶之约中的主角系统          */
/*                                        */
/*             编译环境DJGPP              */
/*                                        */
/*        编译需allegro V4.1.13支持       */
/*                                        */
/*           Cat Tom  1.6.2004            */
/******************************************/


#define NO_ACTOR    -1
#define NO_OBJECT   -1


typedef struct
{
 char name[20];

 int hp;
 int max_hp;
 int mp;
 int max_mp;
 int attack;
 int defence;

 //装备待定

 int exp;
 int grade;

 char fighter_num;        //该主角的战斗姿态编号

 BITMAP *photo;
}ACTOR_TYPE;


struct
{
 ACTOR_TYPE actor[8];

 char max_num;
}Actor_Lib;


struct
{
 int money;

 char actor_num[3];
 char max_actor_num;

 char object_num[13];
 int object_hm[13];               //每种物品量

 //装备待定
}RPG_Team={0};


void Init_Actor_Lib(int hp,int max_hp,int mp,int max_mp,int attack,int defence,int exp,int grade,char *name,char *photoname)
{
 Actor_Lib.actor[Actor_Lib.max_num].hp=hp;
 Actor_Lib.actor[Actor_Lib.max_num].max_hp=max_hp;
 Actor_Lib.actor[Actor_Lib.max_num].mp=mp;
 Actor_Lib.actor[Actor_Lib.max_num].max_mp=max_mp;
 Actor_Lib.actor[Actor_Lib.max_num].attack=attack;
 Actor_Lib.actor[Actor_Lib.max_num].defence=defence;
 Actor_Lib.actor[Actor_Lib.max_num].exp=exp;
 Actor_Lib.actor[Actor_Lib.max_num].grade=grade;
 strcpy(Actor_Lib.actor[Actor_Lib.max_num].name,name);
 Actor_Lib.actor[Actor_Lib.max_num].photo=LoadBMP(photoname);

 Actor_Lib.max_num++;
}


/*初始化主角数据*/
void Init_Team()
{
 int i;

 //初始化队伍
 for(i=0;i<3;i++)
   RPG_Team.actor_num[i]=NO_ACTOR;

 //初始化物品袋
 for(i=0;i<13;i++)
   RPG_Team.object_num[i]=NO_OBJECT;
}


void Add_Actor(char num)
{
 RPG_Team.actor_num[RPG_Team.max_actor_num]=num;
 RPG_Team.max_actor_num++;
}


void Add_Object(char type,char num)
{
 int i;

 //假如已经有现成的空间
 for(i=0;i<13;i++)
 {
  if(RPG_Team.object_num[i]==type)
  {
   RPG_Team.object_hm[i]+=num;
   return;
  }
 }

 //假如还没有此类物品
 for(i=0;i<13;i++)
 {
  if(RPG_Team.object_num[i]==NO_OBJECT)
  {
   RPG_Team.object_num[i]=type;
   RPG_Team.object_hm[i]+=num;
   return;
  }
 }
}


void Kill_Object(char type)
{
 int i;
 for(i=0;i<13;i++)
 {
  if(RPG_Team.object_num[i]==type)
  {
   RPG_Team.object_num[i]=NO_OBJECT;
   RPG_Team.object_hm[i]=0;
   return;
  }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -