/// <summary> /// Metodo CheckWin che verifica i progressi dell'eroe e li aggiorna. /// Nel caso abbia terminato i punti vita l'eroe viene eliminato /// </summary> public static void CheckWin(Hero hero) { var serviceProvider = DIConfig.Config(); HeroService heroService = serviceProvider.GetService <HeroService>(); //Controllo punteggi finali di partita if (hero.PuntiAccumulati >= 200) { Console.WriteLine("Partita Conclusa! HAI VINTO!!!"); Console.ReadLine(); //utilizzo ReadLine nel codice per non chiudere brutalmente il programma //senza poter visualizzare un messaggio idoneo } else if (hero.PuntiVita <= 0) { heroService.DeleteHero(hero); Console.WriteLine("Partita Conclusa! HAI PERSO!!!Il tuo eroe è stato eliminato definitivamente"); Console.ReadLine(); //utilizzo ReadLine nel codice per non chiudere brutalmente il programma //senza poter visualizzare un messaggio idoneo } //else //{ // Console.WriteLine("Progressi aggiornati! Premi un tasto per continuare!"); // Console.ReadLine(); // //utilizzo ReadLine nel codice per non chiudere brutalmente il programma // //senza poter visualizzare un messaggio idoneo //} }
public void DeleteHero() { string name = heroView.GetHeroName(); try { heroService.DeleteHero(name); heroView.SuccessfulDeletion(name); } catch (ArgumentException ex) { heroView.DisplayExceptionMessage(ex.Message); } }
public IActionResult Delete(int id) { _logger.LogInformation(id.ToString()); // Is there a hero with the given ID? bool exists = _heroService.ExistsHero(id); if (!exists) { // HTTP status code: 404 (Not Found) return(NotFound(new { id = id })); } // Delete the hero. Hero heroDeleted = _heroService.DeleteHero(id); // HTTP status code: 200 (OK) return(Ok(heroDeleted)); //return Ok(new { id = heroDeleted.ID }); }
public void DeleteHeroTest() { //Arrange var heroId = -1; var hero = new Hero(); heroRepositoryMock.Setup(x => x.GetById(heroId)) .Returns(hero) .Verifiable("should check in repository via GetById"); heroRepositoryMock.Setup(x => x.Delete(hero)) .Verifiable("should call delete"); unitOfWorkMock.Setup(x => x.Save()) .Verifiable("should save after deleting"); //Act var deletedHero = heroService.DeleteHero(heroId); //Assert Assert.IsNotNull(deletedHero); unitOfWorkMock.Verify(); heroRepositoryMock.Verify(); }
/// <summary> /// Metodo Start che mostra il menù principale /// e fa partire il gioco /// </summary> public static void Start(Giocatore giocatore) { #region Dependency Injection var serviceProvider = DIConfig.Config(); HeroService heroService = serviceProvider.GetService <HeroService>(); ClasseService classeService = serviceProvider.GetService <ClasseService>(); ArmaService armaService = serviceProvider.GetService <ArmaService>(); //LevelService levelService = serviceProvider.GetService<LevelService>(); MostroService mostroService = serviceProvider.GetService <MostroService>(); var mostri = mostroService.GetAllMostri(); #endregion //Chiamo il menù delle opzioniprima di iniziare l'eventuale partita Helper.Menu(); //Catturo la scelta dell'utente da console bool IsCorrectUserInput = Int32.TryParse(Console.ReadLine(), out int key); Console.WriteLine(); //Se l'input è idoneo, per ogni opzione scelta //vengono eseguite le istruzioni corrispondenti if (IsCorrectUserInput) { switch (key) { #region CASO 1 NUOVO EROE case 1: //Giocatore può creare un nuovo eroe con il quale giocare #region CREAZIONE EROE //Richiesta Parametri in input da console Console.WriteLine("Inserisci il nome del tuo Eroe: "); string Nome = Console.ReadLine(); Console.WriteLine("CLASSI: "); var classi = classeService.GetAllClassi(); foreach (var cl in classi) { if (cl.Hero == true) { Console.WriteLine($"{cl.Nome}"); } } Console.WriteLine("Scegli la classe del tuo Eroe: "); string Classe = Console.ReadLine(); Console.WriteLine("ARMI: "); var armi = armaService.GetAllArmi(); foreach (var arma in armi) { if (arma.Classe == Classe) { Console.WriteLine($"{arma.Nome}"); } } Console.WriteLine("Scegli l'arma del tuo Eroe: "); string Arma = Console.ReadLine(); Hero hero = new Hero(Nome, Classe, Arma, giocatore); heroService.CreateHero(hero); //è stato creato un nuovo oggetto eroe, sia nel programma //nel database e può iniziare a giocare Console.WriteLine("Premi il tasto invio per iniziare a giocare!"); Console.ReadLine(); #endregion //GAME //Chiamo il metodo che gioca la battaglia eroe selezionato contro mostri //formata eventualmente da diversi scontri Turno.Game(hero, mostri, giocatore); break; #endregion #region CASO 2 ELIMINA EROE case 2: //Giocatore sceglie di eliminare un suo eroe Console.WriteLine("I Tuoi Eroi: "); var heros = heroService.GetAllHeros(); //Seleziono solo gli eroi del giocatore corrente foreach (var h in heros) { if (h.Giocatore.Nome == giocatore.Nome) { Console.WriteLine($"{h.Nome}"); } } Console.WriteLine("Seleziona l'Eroe da eliminare: "); string heroDel = Console.ReadLine(); Hero heroToDelete = heroService.GetHero(heroDel); bool deleted = heroService.DeleteHero(heroToDelete); if (deleted == true) { Console.WriteLine("L'operazione di cancellazione è avvenuta correttamente"); } else { Console.WriteLine("L'operazione di cancellazione NON è avvenuta correttamente"); } Console.ReadLine(); break; #endregion #region CASO 3 CONTINUA PARTITA EROE case 3: //il giocatore sceglie di continuare la partita con un suo eroe già esistente Console.WriteLine("Ecco i Tuoi Eroi: "); var eroi = heroService.GetAllHeros(); //Seleziono solo gli eroi associati al giocatore corrente foreach (var h in eroi) { if (h.Giocatore.Nome == giocatore.Nome) { Console.WriteLine($"{h.Nome}"); } } Console.WriteLine("Seleziona l'Eroe col quale giocare la partita: "); string nomeHero = Console.ReadLine(); hero = heroService.GetHero(nomeHero); //GAME //Chiamo il metodo che gioca la battaglia eroe selezionato contro mostri //formata eventualmente da diversi scontri Turno.Game(hero, mostri, giocatore); break; #endregion case 'q': //Il giocatore sceglie di uscire dal gioco Console.WriteLine("Arrivederci!!!"); Console.ReadLine(); break; default: //caso in cui il giocatore ha inserito un input errato Console.WriteLine("Riprovare."); Console.ReadLine(); break; } } Console.Clear(); }
public IActionResult Delete(int id) { service.DeleteHero(id); return(Ok()); }
static void Main(string[] args) { //identificaton player ID (if any) otherwise create new player (int id, Player p) = Funzionalità.Funzionalità.MatchPredisposition(); menu: Console.WriteLine("A - CreaEroe e Nuova Partita\nB - Elimina Eroe\nC - Esci"); var menuCommand = Funzionalità.Funzionalità.isAdmin(p); //SAlvi il giocatore dcide di salvare -> poi si torna al menu //se non salvi if (menuCommand == "d") { goto menu; } else if (menuCommand == "a") { newHero: //recover (if any) the characters associated with the player's id otherwise character creation Hero h = Funzionalità.Funzionalità.GetHeroByPlayerID(id); newMatch: //Hero Weapons: choise between the waepons associated to the specific Hero class h.weapon = Funzionalità.Funzionalità.GetWeapons(h); //fetch of a monster (same or less level of the Hero) and match // match end when: 1) Hero success in the escape // 2) Monster win // 3) Player win h = Funzionalità.Funzionalità.Match(h); var serviceProvider2 = DIConfiguration.ConfigurazioneHero(); HeroService heroService = serviceProvider2.GetService <HeroService>(); Console.WriteLine("Vuoi sfidare un altro mostro??"); bool answer = Funz.CheckAnswer(); if (answer) // se answer = true { if (h.lifePoint == 0) { heroService.DeleteHero(h); Console.WriteLine("il personaggio precedente è stato eliminato!"); goto newHero; } Console.WriteLine("Vuoi cambiare personaggio?"); bool a = Funz.CheckAnswer(); if (a) { Funzionalità.Funzionalità.updateLevel(h); goto newHero; } else { h = Funzionalità.Funzionalità.updateLevel(h); //heroService.Update(h); goto newMatch; } } else //se non vuole continuare a gocare -> uscita { Console.WriteLine("Salvataggio dati"); //salvataggio dati h = Funzionalità.Funzionalità.updateLevel(h); heroService.Update(h); goto menu; } } else if (menuCommand == "b") { var serviceProvider2 = DIConfiguration.ConfigurazioneHero(); HeroService heroService = serviceProvider2.GetService <HeroService>(); Console.WriteLine("Hai scelto di eliminare un eroe!"); //Funzionalità.Funzionalità.GetHeroByPlayerID(id); //mi da gli eroi associati ad un id di un giocatore var heros = heroService.GetHeroByID(id); //var presentHero = HeroService.areHeroPresent(heros); //mi dice se ci sono eroi associati all'ID; //Console.WriteLine("I tuoi eroi sono: "); foreach (var h in heros) { Console.WriteLine($"Nome: {h.name}\t - Classe: {h.classPerson}\t - Livello: {h.level}\t - Punti Vita:{h.lifePoint}"); } Console.WriteLine("Inserisci il nome del personaggio che vuoi eliminare"); inserimento: try { var answer = Console.ReadLine(); foreach (var h in heros) { if (h.name == answer) { heroService.DeleteHero(h); } } Console.WriteLine("E stato eliminato!"); goto menu; } catch { Console.WriteLine("inserimento non valido"); goto inserimento; } } }