コード例 #1
0
ファイル: menu.cpp プロジェクト: zugz/ASCIIpOrtal
// This gets called forever by the main function
int main_menu(MapPack& mappack) {
  int level;
  cerr << "Main menu. Mappack name is " << mappack.name << endl;
  switch (display_main_menu (mappack)) {
    case 0: // Play
      play(mappack); break;
    case 1: // Select Level
      level = select_level(mappack);
      if (level != -1) {
        mappack.set_currentlevel(level);
        play(mappack);
      }
      break;
    case 2: { // Change Map Set
      MapPack newmappack = select_mappack(mappack);
      if (&newmappack != &mappack) { // the user actually changed the mappack
        /* attrset(color_pair(HELPMENU));
           fillsquare(LINES / 2 - 3, (COLS - 26) / 2, 7, 26);
           if (newmappack.name == "") {
           mvprintw (LINES / 2, (COLS - 16) / 2, "Invalid Map Pack"); refresh ();
           restms (150);
           getch();
           } else {
           mvprintw (LINES / 2, (COLS - 15) / 2, "Map Pack Loaded!"); refresh ();
           restms (150);
           getch();*/
        mappack = newmappack;
        mappack.set_currentlevel(mappack.get_currentlevel());
        //mappack.dump();
        //}
      }
    }
      break;
    case 3: // Instructions
      help_menu (); break;
    case 4: // Credits
      roll_credits (mappack); break;
    default: // QUIT
      return -1;
  }
  return 0;
}
コード例 #2
0
ファイル: menu.cpp プロジェクト: zugz/ASCIIpOrtal
// handles in-game menu.
int pause_menu(MapPack & mappack) {
  int pause = display_pause_menu();
  switch (pause) {
  case 0 : case -1 : break; // Resume
  case 1 : // Restart
    mappack.set_currentlevel(mappack.get_currentlevel());
    break;
  case 2 : { // Select level
    int newlvl = select_level(mappack);
    if (newlvl == -1) // Back to the menu (ESC key or something similar)
      pause_menu(mappack);
    else if (newlvl != mappack.get_currentlevel()) { // Change level
      mappack.set_currentlevel(newlvl);
      play(mappack);
      return -1;
    }
    break;
  }
  case 3 : help_menu (); break; // Help
  default : return -1; break; // Quit
  }
}