Esempio n. 1
0
        /// <summary>
        /// In un turno l'eroe può: combattere (infligge danni al mostro), fuggire (se ci riesce gli vengono
        /// sottratti dei punti, se non ci riesce il turno passa al mostro)
        /// </summary>
        /// <param name="eroe">L'eroe che sta giocando</param>
        /// <param name="mostro">Il mostro che sta giocando</param>
        /// <param name="danniEroe">è un bool che viene ritornato, true = fuga fallita, devo togliere dei
        /// punti all'eroe, false l'eroe ha attaccato il mostro quindi devo togliergli dei punti vita,
        /// se la fuga fallisce non lo guardo</param>
        /// <returns>ritorna i punti da togliere all'eroe o al mostro o -1 se la fuga fallisce</returns>
        public static int GiocaEroe(Eroi eroe, Mostri mostro, out bool danniEroe)
        {
            //DIConfig
            var         serviceProvider = DIConfig.Configurazione();
            ArmiService armiService     = serviceProvider.GetService <ArmiService>();

            //Se fallisce la fuga non lo guardo
            danniEroe = false;

            int  scelta   = 0;
            bool corretto = false;

            Console.WriteLine("è il turno dell'eroe cosa vuoi fare?\n" +
                              "1 - Attacca!\n" +
                              "2 - Scappa");
            do
            {
                corretto = Int32.TryParse(Console.ReadLine(), out scelta);
                if (corretto == false || scelta != 1 && scelta != 2)
                {
                    Console.WriteLine("Comando non riconosciuto, riprova:");
                }
            } while (corretto == false || scelta != 1 && scelta != 2);

            //Attacco
            if (scelta == 1)
            {
                //Devo prendere i punti danno dell'arma
                Armi armaGiocatore = new Armi();
                armaGiocatore = armiService.ArmaPersonaggio(eroe.Arma);
                //int danniInflitti = armaGiocatore.PuntiDanno;
                //Li passo al turno così modifico direttamente il mostro
                danniEroe = false;
                Console.WriteLine("Hai attaccato il mostro con successo");
                return(armaGiocatore.PuntiDanno);
            }
            else
            {
                if (Fuga())
                {
                    //I punti sottratti all'eroe sono livello mostro * 5
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine("Fuga eseguita con successo");
                    Console.ForegroundColor = ConsoleColor.White;
                    danniEroe = true;
                    return(mostro.Livello * 5);
                }
            }
            //Ritorna -1 solo se la fuga non è riuscita
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("Fuga non riuscita...");
            Console.ForegroundColor = ConsoleColor.White;
            return(-1);
        }
Esempio n. 2
0
        /// <summary>
        /// Il mostro può solo attaccare
        /// </summary>
        /// <param name="mostro">è il mostro che sta giocando</param>
        /// <returns>ritorna i danni da infliggere all'eroe</returns>
        public static int GiocaMostro(Mostri mostro)
        {
            //DIConfig
            var         serviceProvider = DIConfig.Configurazione();
            ArmiService armiService     = serviceProvider.GetService <ArmiService>();

            //il mostro attacca sempre
            Armi armaMostro = new Armi();

            armaMostro = armiService.ArmaPersonaggio(mostro.Arma);
            return(armaMostro.PuntiDanno);
        }