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

📄 fep_game_widget.h

📁 俄罗斯方块程序,对你开发移植这个游戏有很大帮助!
💻 H
字号:
//////////////////////////////////////////////////////////////////////////////////
//! \addtogroup cmp_img_jpg
//! @{
//
// Copyright (c) 2004-2005 SigmaTel, Inc.
//
//! \file    img_jpg_app.h
//! \brief   Header file for JPEG application
//! \version 1.0
//! \date    08-Aug 2005
//!
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Includes and external references
////////////////////////////////////////////////////////////////////////////////


#ifndef _GAME_APP_H_
#define _GAME_APP_H_

//	we can change brick size here
#define BRICK_DX	12
#define BRICK_DY	12
//	the brick numbers
#define BRICK_NUMBER_IN_X	10
#define BRICK_NUMBER_IN_Y	15
//	background x,y length
#define BG_DX	BRICK_DX*BRICK_NUMBER_IN_X
#define BG_DY	BRICK_DY*BRICK_NUMBER_IN_Y
//	background start x/y
#define GAME_STARTX	(WIN_GAME_DX-BG_DX)/2
#define GAME_STARTY (WIN_GAME_DY-BG_DY)/2

//	next brick position
#define BRISK_NEXT_X	 GAME_STARTX+BG_DX+20
#define BRISK_NEXT_Y	GAME_STARTY+20
//	level string position
#define STRING_GAMELEVEL_X_POS	GAME_STARTX-60//GAME_STARTX-50
#define	STRING_GAMELEVEL_Y_POS	GAME_STARTY+20
// score string position
#define STRING_GAMESCORE_X_POS	GAME_STARTX-60
#define	STRING_GAMESCORE_Y_POS	GAME_STARTY+60
//	pause string position
#define STRING_GAMEPAUSE_X_POS	(WIN_GAME_DX-BG_DX)/2+50
#define	STRING_GAMEPAUSE_Y_POS	(WIN_GAME_DY-BG_DY)/2+50
//	subwindow size and position
#define SUB_WINDOW_X	GAME_STARTX
#define SUB_WINDOW_Y	GAME_STARTY
#define SUB_WINDOW_DX	100
#define SUB_WINDOW_DY	120
//	subwindow2 size and position
#define SUB_WINDOW2_X	GAME_STARTX+100
#define SUB_WINDOW2_Y	GAME_STARTY
#define SUB_WINDOW2_DX	60
#define SUB_WINDOW2_DY	150


typedef struct _GameBrickWidget{
    WIDGET_BASIC_PROPERTIES;
    WIDGET_END_OF_BITFIELD_PROPERTIES;

	//widget specific information
    uint8_t		FourBrick_X, FourBrick_Y;//the 4brick position
    uint8_t		Type, Direct,NextType;//the 4brick type and direct
	uint8_t		Active;//the 4brick is active or ed
	uint8_t		Pause;//Pause or play
	uint8_t		Dead;//Game Over?
	uint8_t		Level;//Level, setted by Heartbeat Timer 1-9
	uint8_t		Score;//total score
	uint8_t		BrickGrid[BRICK_NUMBER_IN_Y+2][BRICK_NUMBER_IN_X+2];//data 
	uint8_t		NextBrickGrid[4][4];//data 
	//	add a flag in order to indicate that we have already in sub window.
	//	fix a defect
	//	in string list the, all the button message must handled.
	uint8_t		bInSubWindow;
	bool	bMusicOn;
} GameBrickWidget_t;


void fep_window_Game_Draw(Widget_t *pWidget, gfx_DeviceContext_t *pDC);
void fep_window_Game_HeartBeat(Widget_t *pWidget);
int fep_window_Game_ProcessMessage(Widget_t *pWidget, os_msg_struct_t *pMsg, int *piResult);


#endif

//! @}

⌨️ 快捷键说明

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