📄 play_managefish.h
字号:
/******************************************************************************
*
* The information contained herein is the exclusive property of
* Sunplus Technology Co. And shall not be distributed, reproduced,
* or disclosed in whole in part without prior written permission.
*
* (C) COPYRIGHT 2005 SUNPLUS TECHNOLOGY CO.
* ALL RIGHTS RESERVED
*
* The entire notice above must be reproduced on all authorized copies.
*
*****************************************************************************/
/******************************************************************************
* Filename: Play_ManageFish.h
* Author: Robin.xjliu (eMail: xjliu@sunplus.com)
* Tel: 00885-028-87848688-5884
* Date: 2005-12-03
* Description: fish management function
* Reference:
* Version history:
*-----------------------------------------------------------------------------
* Version YYYY-MM-DD-INDEX Modified By Description
* 1.0.0 2005-12-03 xjliu Create
*
*****************************************************************************/
#ifndef _PLAY_MANAGEFISH_H
#define _PLAY_MANAGEFISH_H
#include "GamePlay.h"
/**
* foeman fish level define
*/
#define FOEMAN_LEV0 0x00
#define FOEMAN_LEV1 0x01
#define FOEMAN_LEV2 0x02
#define FOEMAN_LEV3 0x03
/**
* fish max number define
*/
#define NUM_FISH0 64
#define NUM_FISH1 32
#define NUM_FISH2 16
#define NUM_FISH3 8
#define NUM_FISH4 1
/**
* fish max speed index define
*/
#define MAXSPEED_LEV0 8//10
#define MAXSPEED_LEV1 8//10
#define MAXSPEED_LEV2 18//22
#define MAXSPEED_LEV3 19//24
#define MAXSPEED_LEV4 21//25
/**
* fish movement state
*/
#define STATE_NORMAL 0x00
#define STATE_CHANGEWAY 0x01
#define STATE_ADDSPEED 0x02
#define STATE_SUBSPEED 0x03
#define STATE_CHASE 0x04
#define STATE_DODGE 0x05
#define STATE_MAXNUM 0x06
/**
* fish control flag setting function define
*/
#define SETFISH_VX(flag,ptr) flag = ((flag) & 0xFFFFFFE0) | ((U32)(ptr) & 0x1F) //bit0 ~ bit4
#define GETFISH_VX(flag) ((flag) & 0x0000001F)
#define SETFISH_VY(flag,ptr) flag = ((flag) & 0xFFFFFC1F) | (((U32)(ptr) & 0x1F)<<5) //bit5 ~ bit9
#define GETFISH_VY(flag) (((flag) & 0x000003E0) >> 5)
#define SETFISH_AX(flag,ptr) flag = ((flag) & 0xFFFFFBFF) | (((U32)(ptr) & 0x01)<<10)//bit10
#define GETFISH_AX(flag) (((flag) & 0x00000400) >> 10)
#define SETFISH_AY(flag,ptr) flag = ((flag) & 0xFFFFF7FF) | (((U32)(ptr) & 0x01)<<11)//bit11
#define GETFISH_AY(flag) (((flag) & 0x00000800) >> 11)
#define SETFISH_ST(flag,ptr) flag = ((flag) & 0xFFFF8FFF) | (((U32)(ptr) & 0x07)<<12)//bit12 ~ bit14
#define GETFISH_ST(flag) (((flag) & 0x00007000) >> 12)
#define SETFISH_LEV(flag,ptr) flag = ((flag) & 0xFFFE7FFF) | (((U32)(ptr) & 0x03)<<15)//bit15 ~ bit16
#define GETFISH_LEV(flag) (((flag) & 0x00018000) >> 15)
#define SETFISH_KIND(flag,ptr) flag = ((flag) & 0xFFFDFFFF) | (((U32)(ptr) & 0x01)<<17)//bit17
#define GETFISH_KIND(flag) (((flag) & 0x00020000) >> 17)
#define SETFISH_KEEPCNT(flag,ptr) \
flag = ((flag) & 0xFFC3FFFF) | (((U32)(ptr) & 0x0F)<<18)//bit18 ~ bit21
#define GETFISH_KEEPCNT(flag) \
(((flag) & 0x003C0000) >> 18)
#define SETFISH_OBJID(flag,ptr) \
flag = ((flag) & 0xF83FFFFF) | (((U32)(ptr) & 0x1F)<<22)//bit22 ~ bit26
#define GETFISH_OBJID(flag) \
(((flag) & 0x07C00000) >> 22)
#define SETFISH_SELFID(flag,ptr)\
flag = ((flag) & 0x07FFFFFF) | (((U32)(ptr) & 0x1F)<<27)//bit27 ~ bit31
#define GETFISH_SELFID(flag) \
(((flag) & 0xF8000000) >> 27)
/**
* Normal motion index define
*/
#define POPO1 0
#define POPO3 1
#define POPO4 2
#define OCTOPUS 3
#define COWRY 4
#define COUNTBONE 5
#define COUNTTROUGH 6
#define NORMAL_NUM 7
extern MOTION *pFish0[];
extern MOTION *pFish1[];
extern MOTION *pFish2[];
extern MOTION *pFish3[];
extern MOTION *pFish4;
extern MOTION *pNormal[];
extern U8 g_nCurrentFish0;
extern U8 g_nCurrentFish1;
extern U8 g_nCurrentFish2;
extern U8 g_nCurrentFish3;
extern U32 g_nManageFishTimer;
extern S16 g_iSharkStartX;
extern S16 g_iSharkStartY;
void Play_ManageFish(void);
void Play_InitFish(void);
//motion process function
void ProcFish1(MOTION *pMotion);
void ProcSeajelly(MOTION *pMotion);
void ProcShark(MOTION *pMotion);
void ProcPoPo(MOTION *pMotion);
void ProcOctopus(MOTION *pMotion);
void ProcCowry(MOTION *pMotion);
void ProcActor(MOTION *pMotion);
#endif //_PLAY_MANAGEFISH_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -