public static void CreateNewGameMenu() { MenuElement root = new MenuElement(); MenuSpriteElement bg = new MenuSpriteElement("GUI/newgame_menu.jpg", new Rectangle(0, 0, GameManager.Width, GameManager.Height)); root.AddChild(bg); { Rectangle exitRect = new Rectangle(GameManager.Width - 152, 1, 151, 71); MenuButtonElement exitButton = new MenuButtonElement(exitRect, delegate() { CreateMainMenu(); }); exitButton.AddChild(new MenuSpriteElement("GUI/button_bg", exitRect, "BACK")); bg.AddChild(exitButton); } Rectangle musicRect = new Rectangle(GameManager.Width - 500, 1, 151, 71); MenuButtonElement musicButton = new MenuButtonElement(musicRect, delegate() { if (!music) { music = true; musicText = "MUSIC: ON"; } else { music = false; musicText = "MUSIC: OFF"; } musicSpriteElement.Text = musicText; }); musicSpriteElement = new MenuSpriteElement("GUI/button_bg", musicRect, musicText); musicButton.AddChild(musicSpriteElement); bg.AddChild(musicButton); Rectangle vibRect = new Rectangle(GameManager.Width - 345, 1, 190, 71); MenuButtonElement vibButton = new MenuButtonElement(vibRect, delegate() { if (!vibration) { vibration = true; vibText = "VIBRATION: ON"; } else { vibration = false; vibText = "VIBRATION: OFF"; } vibrationSpriteElement.Text = vibText; }); vibrationSpriteElement = new MenuSpriteElement("GUI/button_bg", vibRect, vibText); vibButton.AddChild(vibrationSpriteElement); bg.AddChild(vibButton); { DifficultySelector selector = new DifficultySelector(); bg.AddChild(selector); int baseX = Convert.ToInt32(0.279 * GameManager.Width); int baseY = Convert.ToInt32(0.359 * GameManager.Height); int YDiff = Convert.ToInt32(0.085 * GameManager.Height); { Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 0, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height)); MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate() { selectedDifficulty = Game.Difficulty.EASY; }); easyButton.AddChild(new MenuSpriteElement(null, easyRect, "EASY", 1.5f)); selector.AddElementForDifficulty(Game.Difficulty.EASY, easyButton); } { Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 1, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height)); MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate() { selectedDifficulty = Game.Difficulty.NORMAL; }); easyButton.AddChild(new MenuSpriteElement(null, easyRect, "NORMAL", 1.5f)); selector.AddElementForDifficulty(Game.Difficulty.NORMAL, easyButton); } { Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 2, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height)); MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate() { selectedDifficulty = Game.Difficulty.HARD; }); easyButton.AddChild(new MenuSpriteElement(null, easyRect, "HARD", 1.5f)); selector.AddElementForDifficulty(Game.Difficulty.HARD, easyButton); } } { GameModeSelector selector = new GameModeSelector(); bg.AddChild(selector); int baseX = Convert.ToInt32(0.1 * GameManager.Width); int baseY = Convert.ToInt32(0.388 * GameManager.Height); int YDiff = Convert.ToInt32(0.085 * GameManager.Height); { Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 0, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height)); MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate() { selectedGameMode = Game.GameMode.NORMAL; }); easyButton.AddChild(new MenuSpriteElement(null, easyRect, "NORMAL", 1.5f)); selector.AddElementForDifficulty(Game.GameMode.NORMAL, easyButton); } { Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 1, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height)); MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate() { selectedGameMode = Game.GameMode.ENDLESS; }); easyButton.AddChild(new MenuSpriteElement(null, easyRect, "ENDLESS", 1.5f)); selector.AddElementForDifficulty(Game.GameMode.ENDLESS, easyButton); } { Rectangle easyRect = new Rectangle(baseX, baseY + YDiff * 2, Convert.ToInt32(0.078 * GameManager.Width), Convert.ToInt32(0.077 * GameManager.Height)); MenuButtonElement easyButton = new MenuButtonElement(easyRect, delegate() { selectedGameMode = Game.GameMode.TIME; }); easyButton.AddChild(new MenuSpriteElement(null, easyRect, "TIME", 1.5f)); selector.AddElementForDifficulty(Game.GameMode.TIME, easyButton); } } { Rectangle playRect = new Rectangle(Convert.ToInt32(0.78125 * GameManager.Width), Convert.ToInt32(0.444 * GameManager.Height), Convert.ToInt32(0.114 * GameManager.Width), Convert.ToInt32(0.0583 * GameManager.Height)); MenuButtonElement playButton = new MenuButtonElement(playRect, delegate() { //GameManager.Instance.SwitchScene(new Prototype()); GameManager.Instance.SwitchScene(new Game.GameModel(imageDatabase, selectedGameMode, selectedDifficulty, music, vibration)); } ); bg.AddChild(playButton); playButton.AddChild(new MenuSpriteElement("GUI/button_play.png", playRect)); } GameManager.Instance.SwitchScene(new Menu(root)); }
public static void Main(string[] args) { Console.Title = "Snake Game - By Francisco José Ferrer Rodríguez"; Game.SetPunctuations(Util.Load()); Game.Difficult difficult = Game.Difficult.VERY_EASY; Game.GameMode game_mode = Game.GameMode.OPENED; Game.SizeWindow size_window = Game.SizeWindow.BIG; string[] menu_options = { " 1. PLAY ", " 2. DIFFICULT ", " 3. GAME MODE ", " 4. SIZE WINDOW ", " 5. SHOW PUNCTUATIONS ", " 6. EXIT " }; string[] menu_option_1 = { " 1. VERY EASY ", " 2. EASY ", " 3. NORMAL ", " 4. HARD ", " 5. EXTREME ", " 6. INSANE ", " 7. BACK " }; string[] menu_option_2 = { " 1. OPENED ", " 2. CLOSED ", " 3. BACK " }; string[] menu_option_3 = { " 1. BIG ", " 2. MEDIUM ", " 3. SMALL ", " 4. BACK " }; string[] menu_option_username = { " 1. BACK " }; string option; while (true) { Console.BackgroundColor = ConsoleColor.Black; Console.Clear(); Util.DrawSnakeLogo(); Util.DrawAuthorLogo(); Util.ShowMenu(menu_options); option = Console.ReadLine(); switch (option) { case "1": do { Util.ShowMenu(menu_option_username, "Set username to play: "); option = Console.ReadLine(); if (!option.Equals("") && !option.Equals("1")) { new Game(option, difficult, game_mode, size_window); option = "1"; } } while (!option.Equals("1")); break; case "2": do { Util.ShowMenu(menu_option_1); option = Console.ReadLine(); switch (option) { case "1": difficult = Game.Difficult.VERY_EASY; option = "7"; break; case "2": difficult = Game.Difficult.EASY; option = "7"; break; case "3": difficult = Game.Difficult.NORMAL; option = "7"; break; case "4": difficult = Game.Difficult.HARD; option = "7"; break; case "5": difficult = Game.Difficult.EXTREME; option = "7"; break; case "6": difficult = Game.Difficult.INSANE; option = "7"; break; } } while (!option.Equals("7")); break; case "3": do { Util.ShowMenu(menu_option_2); option = Console.ReadLine(); switch (option) { case "1": game_mode = Game.GameMode.OPENED; option = "3"; break; case "2": game_mode = Game.GameMode.CLOSED; option = "3"; break; } } while (!option.Equals("3")); break; case "4": do { Util.ShowMenu(menu_option_3); option = Console.ReadLine(); switch (option) { case "1": size_window = Game.SizeWindow.BIG; option = "4"; break; case "2": size_window = Game.SizeWindow.MEDIUM; option = "4"; break; case "3": size_window = Game.SizeWindow.SMALL; option = "4"; break; } } while (!option.Equals("4")); break; case "5": Util.ShowPunctuations(); break; case "6": Environment.Exit(1); break; } } }
public void AddElementForDifficulty(Game.GameMode diff, MenuElement elem) { elements[diff] = elem; AddChild(elem); }