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

📄 flarbopt.h

📁 BREW Shot Game of Flarbs Source Code.
💻 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 + -