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

📄 bombermenu.c

📁 一个炸弹人游戏的源代码(win32 application)
💻 C
字号:
int     MenuChoice, MenuFrame, MenuPlayers = 2;

//Initialize the menu
void InitMenu ()
{
  int   i;

  //Draw to front buffer
  TargetData = MainBitmapData;

  //Clear buffer
  memset ((char *)TargetData, 0, 221952);

  //Display title
  Blit (35, 32, 0, 80, 203, 29);

  //Display menu
  for (i = 0; i < 4; i++)
    Blit (112, 101 + i * 32, 0, 109 + i * 15, 64, 15);

  //Choose top
  MenuChoice = 0;
  MenuFrame = 0;
  FlushKeys ();
}

//Display the number of players
void DrawNumber ()
{
  int   yt;

  //Display menu
  for (yt = 0; yt < 15; yt++)
    memcpy ((char *)TargetData + 221952 - (101 + yt + 32) * 816 + 537,
            (char *)BlocksBuf + (168 + yt) * 960 + (MenuPlayers - 1) * 24,
            24);
}

//Do the menu stuff
void MenuLoop ()
{
  int   Key;

  //Clear old bomb
  DrawBlock (5, (3 + MenuChoice) * 2, 10, 2);

  //Read from keyboard
  Key = getch ();

  //Move cursor
  if (Key == VK_UP) {
    MenuChoice--;
    if (MenuChoice == -1) MenuChoice = 3;
  }
  if (Key == VK_DOWN) {
    MenuChoice++;
    if (MenuChoice == 4) MenuChoice = 0;
  }

  //Update number of players
  if (MenuChoice == 1) {
    if (Key == VK_LEFT) {
      MenuPlayers--;
      if (MenuPlayers == 1) MenuPlayers = 4;
    }
    if (Key == VK_RIGHT) {
      MenuPlayers++;
      if (MenuPlayers == 5) MenuPlayers = 2;
    }
  }

  //Display new bomb
  MenuFrame ^= 1;
  DrawBlock (5, (3 + MenuChoice) * 2, 10, MenuFrame);
  DrawNumber ();

  //Enter key
  if (Key == VK_RETURN) {
    switch (MenuChoice) {
      //Start game
      case 0:
      case 1:
        //Get number of players
        Players = MenuPlayers;
        ComputerPlays = 0;
        if (MenuPlayers == 1) {
          Players++;
          ComputerPlays = -1;
        }

        //Start the game
        ClearGame ();
        State = IN_GAME;
        NewGame ();
        break;
      //Setup
      case 2:
        State = IN_SETUP;
        InitSetup ();
        break;
      //Quit
      case 3:
        Done = -1;
        break;
    }
  }
}

⌨️ 快捷键说明

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