Пример #1
0
        /// <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);
            }
        }
Пример #3
0
        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 });
        }
Пример #4
0
        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();
        }
Пример #5
0
        /// <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();
        }
Пример #6
0
 public IActionResult Delete(int id)
 {
     service.DeleteHero(id);
     return(Ok());
 }
Пример #7
0
        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;
                }
            }
        }