public Armi GetByID(int ID)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                Armi arma = new Armi();
                try
                {
                    connection.Open();
                    SqlCommand command = new SqlCommand();
                    command.Connection  = connection;
                    command.CommandType = System.Data.CommandType.Text;
                    command.CommandText = "SELECT * FROM Armi WHERE ID = @ID";

                    command.Parameters.AddWithValue("@ID", ID);

                    SqlDataReader reader = command.ExecuteReader();

                    reader.Read();
                    arma = reader.ToArmi();

                    reader.Close();
                }
                catch (SqlException)
                {
                    Console.WriteLine("Errore in GetById in armi");
                }
                finally
                {
                    connection.Close();
                }
                return(arma);
            }
        }
예제 #2
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);
        }
예제 #3
0
 public void AggiungiArma(Arma a)
 {
     foreach (Arma b in Armi)
     {
         if (b.GetID() == a.GetID())
         {
             throw new Exception("Arma già aggiunta");
         }
     }
     Armi.Add(a);
 }
예제 #4
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);
        }
예제 #5
0
        public void AggiungiArma(Arma a)
        {
            foreach (Arma b in Armi)
            {
                if (b.Equals(a))
                {
                    throw new Exception("Arma già esistente");
                }
            }

            Armi.Add(a);
        }
예제 #6
0
 public void RimuoviArma(Arma a)
 {
     foreach (Arma b in Armi)
     {
         if (b.Equals(a))
         {
             Armi.Remove(b);
             return;
         }
     }
     throw new Exception("Razza non esistente");
 }
예제 #7
0
 public void RimuoviArma(Arma a)
 {
     foreach (Arma b in Armi)
     {
         if (b.GetID() == a.GetID())
         {
             Armi.Remove(a);
             return;
         }
     }
     throw new Exception("Arma mai aggiunta");
 }
 public bool Update(Armi obj)
 {
     throw new NotImplementedException();
 }