📄 flarbopt.h
字号:
/*
* flarbopt.h
*
*/
#ifndef __FLARBOPT_H__
#define __FLARBOPT_H__
#include "AEE.h"
#include "AEEDisp.h"
#include "AEEModGen.h"
#include "AEEAppGen.h"
#include "AEEDisp.h"
#include "AEEClassIDs.h"
#include "AEEStdLib.h"
#include "AEEImage.h"
#include "AEEShell.h"
#include "AEEGraphics.h"
#include "AEEMenu.h" // Menu Services
#include "AEEFile.h" // AEEFile Services
#include "AEEText.h"
#define RES_FILE "flarbopt.bar"
#define MAX_STRING_LENGTH 64
#define TIMER_PERIOD 30
#define MAX_IMAGES 5
#define START_SPEED 3
#define MAX_SPEED 20
#define SPRITEFLAG_DIRTY 0x01
enum
{
MENUID_START = 0,
MENUID_SCORES = 1,
MENUID_QUIT = 2,
};
enum
{
GAME_MODE_NONE = 0,
GAME_MODE_MENU = 1,
GAME_MODE_PAUSE = 2,
GAME_MODE_OVER = 3,
GAME_MODE_PLAY = 4,
GAME_MODE_SCORES = 5,
GAME_MODE_INSTRUCTIONS = 6,
};
enum
{
SPRITE_PLAYER = 0,
SPRITE_BULLET,
SPRITE_SHIP,
};
typedef struct sprite_s
{
unsigned char nX;
unsigned char nY;
unsigned char nOldX;
unsigned char nOldY;
unsigned char nWidth;
unsigned char nHeight;
unsigned char nFlags;
unsigned char nImage;
} sprite_t;
typedef struct myapp_s
{
AEEApplet a; //applet header
AEEDeviceInfo di;
IMenuCtl * pIMenu;
IStatic * pIStatic;
boolean bPaused;
boolean bSuspended;
boolean bBullet;
boolean bGameOver;
int nScore;
int nSpeed;
int nHighScore;
int nGameMode;
boolean bForce;
void* pRawImagePtrs[MAX_IMAGES]; //List of raw images (sprite frames)
AEEBmp pBMPImagePtrs[MAX_IMAGES]; //Pointer to actual BMPs so we can free them
byte pAllocFlags[MAX_IMAGES];
AECHAR szBuf[MAX_STRING_LENGTH];
sprite_t sprBullet;
sprite_t sprPlayer;
sprite_t sprAlien;
IGraphics * pIGraphics;
} myapp_t;
static boolean FlarbOpt_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void FlarbOpt_MoveEnemy(myapp_t* pApp);
void FlarbOpt_MoveBullet(myapp_t* pApp);
void FlarbOpt_DoCollision(myapp_t* pApp);
void FlarbOpt_BuildMainMenu(myapp_t* pApp);
void FlarbOpt_BuildScoreScreen(myapp_t* pApp);
void FlarB_BuildInstructionsScreen(myapp_t* pApp);
void FlarbOpt_SuspendGame(myapp_t* pApp);
void FlarbOpt_ResumeGame(myapp_t* pApp);
void FlarbOpt_SetupGame(myapp_t* pApp);
void FlarbOpt_DrawScreen(myapp_t* pApp, boolean bForce);
void FlarbOpt_LoadResources(myapp_t* pApp);
void FlarbOpt_ClearGUI(myapp_t* pApp);
void FlarbOpt_SetGameMode(myapp_t* pApp, int nMode);
void FlarbOpt_TimerCallback(myapp_t* pApp);
void FlarbOpt_Cleanup(myapp_t* pApp);
void* FlarbOpt_LoadImage(myapp_t* pApp, int nResID, int nIndex, sprite_t* pSprite);
void FlarbOpt_GameInput(myapp_t* pApp, uint16 wParam);
void FlarbOpt_DrawSprite(myapp_t* pApp, sprite_t* pSprite, boolean bForce);
void FlarbOpt_HideBullet(myapp_t* pApp);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -