/// <summary> /// Metodo per ottenere il massimo livello possibile con i punti accumulati minori o uguali a quelli dell'eroe /// </summary> /// <returns></returns> private static Livello GetMaxLivelloWithPuntiAccumulatiLessOrEqualThan() { Livello newLivello = Eroe.Livello; for (int i = Eroe.Livello.ID; i < ListaLivelli.Count(); i++) { if (ListaLivelli[i].PuntiAccumulati <= Eroe.PuntiAccumulati) { newLivello = ListaLivelli[i]; } else { return(newLivello); } } return(newLivello); }
/// <summary> /// Metodo pubblico da chiamare da program per avviare il gioco /// </summary> public static void MostriVSEroiMain( ) { Console.ForegroundColor = ConsoleColor.Cyan; //LogIn //Controllo che non siano generate eccezioni string input = ""; do { LogIn(); if (Giocatore == null) // Eccezione generata { do { Console.WriteLine("C'è stato un problema. Digita R per riprovare o U per uscire"); input = Console.ReadLine(); if (input != "R" && input != "U") { Console.WriteLine("Comando non valido"); } } while (input != "R" && input != "U"); if (input == "U") { Console.ResetColor(); return; } } } while (input == "R"); // Salvo i possibili livelli in ListaLivelli // e controllo non siano generate eccezioni input = ""; IEnumerable <Livello> livelliTemp; do { livelliTemp = livelloService.GetAllLivelli(); if (livelliTemp == null) // Eccezione generata { do { Console.WriteLine("C'è stato un problema per ottenere i livelli per il gioco. Digita R per riprovare o U per uscire"); input = Console.ReadLine(); if (input != "R" && input != "U") { Console.WriteLine("Comando non valido"); } } while (input != "R" && input != "U"); if (input == "U") { Console.ResetColor(); return; } } } while (input == "R"); ListaLivelli = livelliTemp.ToList(); ListaLivelli.Sort(delegate(Livello l1, Livello l2) { return(l1.ID.CompareTo(l2.ID)); }); // ordino per sicurezza, potrebbero essere stati inseriti nel database non in ordine MaxLivello = ListaLivelli.Count(); // Se Admin parte da MenuADMIN con possibilità di andare al Menu giocatore e da lì tornare al MenuADMIN // controllo che non siano generate eccezioni if (Giocatore.IsAdmin == true && MenuADMIN() || Giocatore.IsAdmin == false) { bool cont; do { cont = false; switch (MenuUser()) { case MenuReturn.Esci: Console.ResetColor(); return; case MenuReturn.IniziaPartita: Partita(); cont = true; break; case MenuReturn.MenuAdmin: if (MenuADMIN()) { cont = true; } else { Console.ResetColor(); return; } break; } } while (cont == true); } Console.ResetColor(); }