📄 gameshow.h
字号:
#ifndef _GAMESHOW_H_
#define _GAMESHOW_H_
#ifdef SUPPORT_OSD_GAME
enum
{
GAME_COL_LIGHT_GRAY,
GAME_COL_DARK_RED,
GAME_COL_DARK_GREEN,
GAME_COL_BROWN,
GAME_COL_DARK_BLUE,
GAME_COL_PURPLE,
GAME_COL_DARK_CYAN,
GAME_COL_DARK_GRAY,
GAME_COL_BLACK,
GAME_COL_RED,
GAME_COL_LIGHT_GREEN,
GAME_COL_YELLOW,
GAME_COL_BLUE,
GAME_COL_PINK,
GAME_COL_LIGHT_CYAN,
GAME_COL_WHITE,
GAME_COL_NS,
GAME_COL_MAX = GAME_COL_NS - 1,
GAME_COL_BG = GAME_COL_LIGHT_GRAY
};
enum
{
GAME_DIALOG_YES = 10,
GAME_DIALOG_NO = 11
};
// Work Area
#define GAME_WORK_WIDTH OSD_GAME_PLAY_WIDTH
#define GAME_WORK_HEIGHT OSD_GAME_HEIGHT
#define GAME_WORK_START_X 0
#define GAME_WORK_START_Y 0
#define GAME_WORK_END_X (GAME_WORK_START_X + GAME_WORK_WIDTH)
#define GAME_WORK_END_Y (GAME_WORK_START_Y + GAME_WORK_HEIGHT)
// Infomation Pane
#define GAME_INFO_LINE_WIDTH 4
#define GAME_INFO_WIDTH 180
#define GAME_INFO_HEIGHT OSD_GAME_HEIGHT
#define GAME_INFO_START_X (GAME_INFO_END_X - GAME_INFO_WIDTH)
#define GAME_INFO_START_Y 0
#define GAME_INFO_END_X OSD_GAME_WIDTH
#define GAME_INFO_END_Y (GAME_INFO_START_Y + GAME_INFO_HEIGHT)
// Dialog
#define GAME_DIALOG_WIDTH OSD_GAME_PLAY_WIDTH
#define GAME_DIALOG_HEIGHT 90
#define GAME_DIALOG_START_X GAME_WORK_START_X
#define GAME_DIALOG_START_Y 140
#define GAME_DIALOG_END_X GAME_WORK_END_X
#define GAME_DIALOG_END_Y (GAME_DIALOG_START_Y + GAME_DIALOG_HEIGHT)
// Dialog Message
#define GAME_DIALOG_MSG_WIDTH (GAME_DIALOG_WIDTH - 16 * 2)
#define GAME_DIALOG_MSG_HEIGHT 30
#define GAME_DIALOG_MSG_START_X 16
#define GAME_DIALOG_MSG_START_Y (GAME_DIALOG_START_Y + 10)
#define GAME_DIALOG_MSG_END_X (GAME_DIALOG_MSG_START_X + GAME_DIALOG_MSG_WIDTH)
#define GAME_DIALOG_MSG_END_Y (GAME_DIALOG_MSG_START_Y + GAME_DIALOG_MSG_HEIGHT)
// Dialog Button
#define GAME_DIALOG_BN_SPACE 72
#define GAME_DIALOG_BN_WIDTH 72
#define GAME_DIALOG_BN_HEIGHT 30
#define GAME_DIALOG_BN1_START_X ((GAME_DIALOG_WIDTH - GAME_DIALOG_BN_SPACE - GAME_DIALOG_BN_WIDTH * 2) / 2)
#define GAME_DIALOG_BN1_END_X (GAME_DIALOG_BN1_START_X + GAME_DIALOG_BN_WIDTH)
#define GAME_DIALOG_BN2_START_X (GAME_DIALOG_BN1_END_X + GAME_DIALOG_BN_SPACE)
#define GAME_DIALOG_BN2_END_X (GAME_DIALOG_BN2_START_X + GAME_DIALOG_BN_WIDTH)
#define GAME_DIALOG_BN_START_Y (GAME_DIALOG_MSG_END_Y + 10)
#define GAME_DIALOG_BN_END_Y (GAME_DIALOG_BN_START_Y + GAME_DIALOG_BN_HEIGHT)
#endif
#ifdef OSD_GAME_MAIN_MENU
enum
{
GAME_MENU_BREAKOUT,
GAME_MENU_SOKOBAN,
GAME_MENU_TETRIS,
GAME_MENU_EXIT,
GAME_MENU_ITEM_NS,
GAME_MENU_ITEM_MAX = GAME_MENU_ITEM_NS - 1
};
#define GAME_MENU_ITEM_WIDTH 200
#define GAME_MENU_ITEM_HEIGHT 30
#define GAME_MENU_ITEM_START_X ((OSD_GAME_PLAY_WIDTH - GAME_MENU_ITEM_WIDTH) / 2)
#define GAME_MENU_ITEM_END_X (GAME_MENU_ITEM_START_X + GAME_MENU_ITEM_WIDTH)
#define GAME_MENU_ITEM_SPACE 40
// Breakout Show Position
#define GAME_BREAKOUT_WIDTH GAME_MENU_ITEM_WIDTH
#define GAME_BREAKOUT_HEIGHT GAME_MENU_ITEM_HEIGHT
#define GAME_BREAKOUT_START_X GAME_MENU_ITEM_START_X
#define GAME_BREAKOUT_STRAT_Y (0 + GAME_MENU_ITEM_SPACE)
#define GAME_BREAKOUT_END_X GAME_MENU_ITEM_END_X
#define GAME_BREAKOUT_END_Y (GAME_BREAKOUT_STRAT_Y + GAME_BREAKOUT_HEIGHT)
// Sokoban Show Position
#define GAME_SOKOBAN_WIDTH GAME_MENU_ITEM_WIDTH
#define GAME_SOKOBAN_HEIGHT GAME_MENU_ITEM_HEIGHT
#define GAME_SOKOBAN_START_X GAME_MENU_ITEM_START_X
#define GAME_SOKOBAN_START_Y (GAME_BREAKOUT_END_Y + GAME_MENU_ITEM_SPACE)
#define GAME_SOKOBAN_END_X GAME_MENU_ITEM_END_X
#define GAME_SOKOBAN_END_Y (GAME_SOKOBAN_START_Y + GAME_SOKOBAN_HEIGHT)
// Tetris Show Position
#define GAME_TETRIS_WIDTH GAME_MENU_ITEM_WIDTH
#define GAME_TETRIS_HEIGHT GAME_MENU_ITEM_HEIGHT
#define GAME_TRTRIS_START_X GAME_MENU_ITEM_START_X
#define GAME_TRTRIS_START_Y (GAME_SOKOBAN_END_Y + GAME_MENU_ITEM_SPACE)
#define GAME_TETRIS_END_X GAME_MENU_ITEM_END_X
#define GAME_TETRIS_END_Y (GAME_TRTRIS_START_Y + GAME_TETRIS_HEIGHT)
// Exit Show Position
#define GAME_EXIT_WIDTH GAME_MENU_ITEM_WIDTH
#define GAME_EXIT_HEIGHT GAME_MENU_ITEM_HEIGHT
#define GAME_EXIT_START_X GAME_MENU_ITEM_START_X
#define GAME_EXIT_START_Y (GAME_TETRIS_END_Y + GAME_MENU_ITEM_SPACE)
#define GAME_EXIT_END_X GAME_MENU_ITEM_END_X
#define GAME_EXIT_END_Y (GAME_EXIT_START_Y + GAME_EXIT_HEIGHT)
#endif
// Used for unselect/hiline/select the item button
#define ITEM_UNSELECT 0
#define ITEM_SELECT 1
#define ITEM_HILI 2
#ifdef SUPPORT_OSD_GAME
#ifdef OSD_GAME_MAIN_MENU
void vShowGameMainMenu(void) large;
void vHiliGameMenuItem(BYTE bItem, BYTE bState) large;
#endif
void vHex2Sring(WORD wHex, BYTE *pbString) large;
void vClrGameWorkArea(void) large;
void vDrawGameInfoPane(void) large;
void vHiliGameButton(BYTE bBnIndex, BYTE bState) large;
void vShowGameDialog(WORD wMsg, BYTE fgYesNo) large;
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -