public Eroi CreateEroe(Giocatori giocatore) { Eroi eroe = new Eroi(); //ID, Nome, Classe, Arma, Livello, TempoTotale = 0, PuntiVita //L'id lo inserisce il db //Il nome deve essere univoco, lo confronto con gli eroi già inseriti Console.WriteLine("Inserisci il nome del tuo eroe: "); string nome = Console.ReadLine(); bool univoco = true; do { univoco = true; List <Eroi> listaEroi = new List <Eroi>(GetAllEroi()); foreach (var item in listaEroi) { if (nome == item.Nome) { Console.WriteLine("Il nome dell'eroe deve essere univoco, riprova: "); nome = Console.ReadLine(); univoco = false; } } } while (univoco != true); eroe.Nome = nome; Console.WriteLine("Le classi disponibili sono: "); //Mostra lista di classi con filtro su eroe //var classiService = new ClassiService(new MockClassiRepository()); var classiService = new ClassiService(new ADOClassiRepos()); var classiEroi = classiService.ListaClassiConFiltro(1); foreach (var item in classiEroi) { Console.WriteLine($"{item.ID} - {item.Nome}"); } bool trovato = false; Console.WriteLine("Inserisci il numero della classe: "); do { bool corretto = Int32.TryParse(Console.ReadLine(), out int classe); if (corretto == true) { foreach (var item in classiEroi) { if (item.ID == classe) { trovato = true; eroe.Classe = item.ID; break; } } } if (corretto == false || trovato == false) { Console.WriteLine("Classe non trovata, riprova"); } } while (trovato == false); //Mostra lista di armi con filtro sulla classe dell'eroe //var armiService = new ArmiService(new MockArmiRepository()); var armiService = new ArmiService(new ADOArmiRepos()); var armiEroe = armiService.ListaArmiConFiltro(eroe.Classe); foreach (var item in armiEroe) { Console.WriteLine($"{item.ID} - {item.Nome}"); } bool trovataArma = false; Console.WriteLine("Inserisci il numero dell'arma che vuoi: "); do { bool corretto = Int32.TryParse(Console.ReadLine(), out int idArma); if (corretto == true) { foreach (var item in armiEroe) { if (item.ID == idArma) { trovataArma = true; eroe.Arma = item.ID; break; } } } if (corretto == false || trovataArma == false) { Console.WriteLine("Arma non trovata, riprova:"); } } while (trovataArma == false); eroe.Giocatore = giocatore.ID; //Tutti i nuovi eroi sono di livello 1 eroe.Livello = 1; //Impostato a 0 perchè non ha ancora mai giocato eroe.TempoTotale = 0; //I punti vita sono relativi al livello //var livelliService = new LivelliService(new MockLivelliRepository()); var livelliService = new LivelliService(new ADOLivelliRepos()); var livelloDB = livelliService.RitornaLivello(1); eroe.PuntiVita = livelloDB.PuntiVita; _repo.Create(eroe); //Devo restituirlo creato List <Eroi> eroi = new List <Eroi> (GetAllEroi()); foreach (var item in eroi) { //Basta il nome perchè è univoco if (item.Nome == nome) { return(item); } } return(new Eroi()); }
public void CreaMostro() { Mostri mostro = new Mostri(); //Nome, Classe, Arma, Livello, PuntiVita Console.WriteLine("Inserisci il nome del mostro: "); string nome = Console.ReadLine(); //Il nome deve essere univoco bool univoco = true; do { univoco = true; List <Mostri> listaMostri = new List <Mostri>(TuttiIMostri()); foreach (var item in listaMostri) { if (nome == item.Nome) { Console.WriteLine("Il nome del mostro deve essere univoco, riprova: "); nome = Console.ReadLine(); univoco = false; } } } while (univoco != true); mostro.Nome = nome; Console.WriteLine("Le classi disponibili sono: "); //Mostra lista di classi con filtro su mostro //var classiService = new ClassiService(new MockClassiRepository()); var classiService = new ClassiService(new ADOClassiRepos()); var classiEroi = classiService.ListaClassiConFiltro(0); foreach (var item in classiEroi) { Console.WriteLine($"{item.ID} - {item.Nome}"); } bool trovato = false; Console.WriteLine("Inserisci il numero della classe che vuoi: "); do { bool corretto = Int32.TryParse(Console.ReadLine(), out int idClasse); if (corretto == true) { foreach (var item in classiEroi) { if (item.ID == idClasse) { trovato = true; mostro.Classe = item.ID; break; } } } if (trovato != true || corretto == false) { Console.WriteLine("Numero non corretto, riprova:"); } } while (trovato == false); //Mostra la lista delle armi con filtro sulla categoria del mostro //var armiService = new ArmiService(new MockArmiRepository()); var armiService = new ArmiService(new ADOArmiRepos()); var armiEroe = armiService.ListaArmiConFiltro(mostro.Classe); Console.WriteLine("Le armi disponibili sono: "); foreach (var item in armiEroe) { Console.WriteLine($"{item.ID} - {item.Nome}"); } bool trovataArma = false; Console.WriteLine("Inserisci il numero dell'arma che vuoi: "); do { bool corretto = Int32.TryParse(Console.ReadLine(), out int idArma); if (corretto == true) { foreach (var item in armiEroe) { if (item.ID == idArma) { trovataArma = true; mostro.Arma = item.ID; break; } } } if (trovataArma != true || corretto == false) { Console.WriteLine("Numero non corretto, riprova:"); } } while (trovataArma == false); //L'admin può scegliere il livello del mostro Console.WriteLine("Inserisci il livello del mostro da 1 a 5:"); int livello = 0; do { bool corretto = Int32.TryParse(Console.ReadLine(), out livello); if (corretto == true && livello > 0 && livello < 6) { break; } Console.WriteLine("Livello non corretto, riprova:"); } while (true); mostro.Livello = livello; //I punti vita sono relativi al livello //var livelliService = new LivelliService(new MockLivelliRepository()); var livelliService = new LivelliService(new ADOLivelliRepos()); var livelloDB = livelliService.RitornaLivello(livello); mostro.PuntiVita = livelloDB.PuntiVita; _repo.Create(mostro); }