// Write all Pokedex entires to console with paging public void GetPokedex() { int perPage = 1; int numberPages = Entries.Count() / perPage; var currentPage = 0; var currentEntries = Entries.Skip(currentPage).Take(perPage); string input; foreach (var entry in currentEntries) { Console.WriteLine("-~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~-\n"); entry.Value.PokedexEntry(); } do { Console.WriteLine("[ Current Page: " + (currentPage + 1) + "/" + (numberPages + 1) + " ] [ Z: Backward ] [ Enter: Forward ] [ Q: Exit ]"); Console.Write("Enter Selection or Page Number >>> "); input = Console.ReadLine(); Console.Clear(); if (input == "") { currentPage++; currentEntries = Entries.Skip(currentPage * perPage).Take(perPage); } if (input.ToLower() == "z") { currentPage = currentPage <= 0 ? 0 : currentPage - 1; currentEntries = Entries.Skip(currentPage * perPage).Take(perPage); } if (int.TryParse(input, out int result)) { currentPage = result - 1; currentEntries = Entries.Skip(currentPage * perPage).Take(perPage); } foreach (var entry in currentEntries) { Console.WriteLine("-~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~--~*~-\n"); entry.Value.PokedexEntry(); } }while (input != "q"); PokedexMenu.Run(); }
// Initial menu functions public static void Run() { int input = 0; do { try { input = Display(); switch (input) { case 1: input = -1; var pokedex = new Pokedex(); PokedexMenu.Run(); break; case 2: input = -1; TeamMenu.Run(); break; case -1: Console.Clear(); Console.WriteLine("See ya later... gotta catch 'em all!"); break; default: Console.WriteLine("Invalid choice"); System.Threading.Thread.Sleep(1000); Console.Clear(); Run(); break; } } catch (Exception e) { Console.WriteLine(); Console.WriteLine(" ERROR: " + e); } }while (input != -1); }