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

📄 gameshow.h

📁 手机8032的完整代码。吐血推荐。小做改动就可以生产。
💻 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 + -