예제 #1
0
        public void AssegnaVittoria()
        {
            double d1 = Arma1.PuntiDanno;
            double d2 = Arma2.PuntiDanno;
            double p1 = Personaggio1.Razza.LifePoints;
            double p2 = Personaggio2.Razza.LifePoints;

            while (p1 > 0 && p2 > 0)
            {
                p1 -= d2;
                p2 -= d1;
            }

            if (p1 < p2)
            {
                Vincitore = Personaggio2;
            }
            else if (p1 > p2)
            {
                Vincitore = Personaggio1;
            }
            else if (p1 == p2)
            {
                Vincitore      = new Personaggio();
                Vincitore.Nome = "Pareggio";
            }
        }
        public Combattimento(Personaggio p1, Personaggio p2, Arma arma1, Arma arma2, ImageSource imgSfondo, Videogioco videogioco)
        {
            InitializeComponent();
            btn_INIZIA.IsEnabled = true;
            p11    = p1;
            p22    = p2;
            arma11 = arma1;
            arma22 = arma2;
            NomePersonaggio1.Content = p11.Nome;
            NomePersonaggio2.Content = p22.Nome;
            _uriImg  = new Uri(p1.Razza.ImgPath, UriKind.Relative);
            _img     = new BitmapImage(_uriImg);
            _uriImg2 = new Uri(p2.Razza.ImgPath, UriKind.Relative);
            _img2    = new BitmapImage(_uriImg2);
            ImgPersonaggio1.Source = _img;
            ImgPersonaggio2.Source = _img2;
            Sfondo.Source          = imgSfondo;
            _videogiocolocale      = videogioco;
            splayer = new SoundPlayer(@"WAV\easteregg.wav");

            prog1                      = new Thread(new ThreadStart(AbbassaBarra1));
            prog2                      = new Thread(new ThreadStart(AbbassaBarra2));
            muoviPrimo                 = new Thread(new ThreadStart(Muovi1));
            muoviSecondo               = new Thread(new ThreadStart(Muovi2));
            ImgPersonaggio1.Margin     = new Thickness(margine1, 146, 0, 0);
            ImgPersonaggio2.Margin     = new Thickness(margine2, 146, 0, 0);
            ImgPersonaggio1.Visibility = Visibility.Visible;
            ImgPersonaggio2.Visibility = Visibility.Visible;
        }
 public void SostituisciPersonaggio(Personaggio personaggio)
 {
     foreach (Personaggio p in _videogiocolocale.Personaggi)
     {
         if (p.Nome == personaggio.Nome)
         {
             p.Exp    = personaggio.Exp;
             p.Monete = personaggio.Monete;
         }
     }
 }
예제 #4
0
 public void RimuoviPersonaggio(Personaggio a)
 {
     foreach (Personaggio b in Personaggi)
     {
         if (b.Nome == a.Nome)
         {
             Personaggi.Remove(b);
             return;
         }
     }
     throw new Exception("Razza non esistente");
 }
예제 #5
0
        public void AggiungiPersonaggio(Personaggio a)
        {
            foreach (Personaggio b in Personaggi)
            {
                if (b.Nome == a.Nome)
                {
                    throw new Exception("Personaggio già esistente");
                }
            }

            Personaggi.Add(a);
        }
예제 #6
0
 public Combattimentoclass(ref Personaggio p1, ref Personaggio p2, Arma a1, Arma a2)
 {
     try
     {
         Personaggio1 = p1;
         Personaggio2 = p2;
         Arma1        = a1;
         Arma2        = a2;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #7
0
        private void Combo_Personaggio2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Combo_Arma_Personaggio2.Items.Clear();
            Uri         _uriImgLocale;
            ImageSource _imgLocale;
            Personaggio p = Combo_Personaggio2.SelectedItem as Personaggio;

            foreach (Arma arma in p.Armi)
            {
                Combo_Arma_Personaggio2.Items.Add(arma);
            }
            _uriImgLocale           = new Uri(p.Razza.ImgPath, UriKind.Relative);
            _imgLocale              = new BitmapImage(_uriImgLocale);
            Img_Personaggio2.Source = _imgLocale;
        }
예제 #8
0
        public List <Arma> OttieniArmiAbilitatePersonaggio(Personaggio p)
        {
            List <Arma> armiAbilitate = new List <Arma>();

            foreach (Arma arma in _videogiocolocale.Armi)
            {
                foreach (Categoria cat in p.Razza.CategorieArmi)
                {
                    if (arma.Categoria.Equals(cat))
                    {
                        armiAbilitate.Add(arma);
                    }
                }
            }
            return(armiAbilitate);
        }
예제 #9
0
        private void ComboPersonaggio_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Personaggio p = ComboPersonaggio.SelectedItem as Personaggio;

            NomePersonaggioScelto.Content = p.Nome;
            Soldi.Content                  = p.Monete + " $";
            Livello.Content                = "LVL. " + p.Exp / 100;
            ProgressLivello.Value          = p.Exp % 100;
            PercentualeProgressBar.Content = p.Exp % 100 + "%";
            _armiPossedute                 = _negozio.OttieniArmiPossedute(p);
            _armiAbilitate                 = _negozio.OttieniArmiAbilitatePersonaggio(p);
            btnCompra.IsEnabled            = false;
            ComboArma.Items.Clear();
            foreach (Arma arma in _armiAbilitate)
            {
                ComboArma.Items.Add(arma);
            }
        }
예제 #10
0
        private void btnCompra_Click(object sender, RoutedEventArgs e)
        {
            Personaggio p    = ComboPersonaggio.SelectedItem as Personaggio;
            Arma        arma = ComboArma.SelectedItem as Arma;

            if (p.Monete >= arma.MoneteRichieste && p.Exp >= arma.ExpRichiesta)
            {
                p.Monete = p.Monete - arma.MoneteRichieste;
                p.AggiungiArma(arma);

                btnCompra.IsEnabled = false;

                ComboArma.Items.Clear();
                foreach (Arma arma2 in _armiAbilitate)
                {
                    ComboArma.Items.Add(arma2);
                }
                Soldi.Content    = p.Monete + " $";
                NomeArma.Content = arma.Nome + " - POSSEDUTA";
                _videogioco.RimuoviPersonaggio(p);
                _videogioco.AggiungiPersonaggio(p);
                Serializza();
            }
            else if (p.Monete < arma.MoneteRichieste && p.Exp < arma.ExpRichiesta)
            {
                MessageBox.Show("Non hai raggiunto l'esperienza necessaria e sei anche povero!");
            }
            else if (p.Monete >= arma.MoneteRichieste)
            {
                MessageBox.Show("Non hai raggiunto l'esperienza necessaria!");
            }
            else
            {
                MessageBox.Show("Non hai sufficienti monete!");
            }
        }
예제 #11
0
 private void ComboArma_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (ComboArma.SelectedIndex >= 0)
     {
         Personaggio p    = ComboPersonaggio.SelectedItem as Personaggio;
         Arma        arma = ComboArma.SelectedItem as Arma;
         NomeArma.Content = arma.Nome;
         Descrizione.Text = arma.Descrizione;
         Uri         uriImg = new Uri(arma.ImgPath, UriKind.Relative);
         ImageSource img    = new BitmapImage(uriImg);
         Img_Arma.Source          = img;
         LivelloRichiesto.Content = "LVL. SBLOCCO: " + arma.ExpRichiesta / 100;
         SoldiRichiesti.Content   = "COSTO: " + arma.MoneteRichieste + " $";
         btnCompra.IsEnabled      = true;
         foreach (Arma armaPersonaggio in p.Armi)
         {
             if (armaPersonaggio.Nome == arma.Nome)
             {
                 NomeArma.Content    = arma.Nome + " - POSSEDUTA";
                 btnCompra.IsEnabled = false;
             }
         }
     }
 }
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (Combo_Tipo_Personaggio.SelectedIndex < 0)
         {
             throw new Exception("Razza non selezionata");
         }
         if (string.IsNullOrWhiteSpace(txtNome.Text))
         {
             throw new Exception("Il nome non è valido");
         }
         Personaggio p = new Personaggio(txtNome.Text, v.Razze[Combo_Tipo_Personaggio.SelectedIndex]);
         v.AggiungiPersonaggio(p);
         Serializza();
         menu nuovomenu = new menu(v);
         nuovomenu.Show();
         this.Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #13
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            bool sfondoSelezionato             = false;
            bool personaggioUnoSelezionato     = false;
            bool personaggioDueSelezionato     = false;
            bool armaPersonaggioUnoSelezionato = false;
            bool armaPersonaggioDueSelezionato = false;
            bool personaggiDiversi             = false;

            if (ComboSfondo.SelectedIndex >= 0)
            {
                sfondoSelezionato = true;
            }

            if (Combo_Personaggio1.SelectedIndex >= 0)
            {
                personaggioUnoSelezionato = true;
            }

            if (Combo_Personaggio2.SelectedIndex >= 0)
            {
                personaggioDueSelezionato = true;
            }

            if (Combo_Arma_Personaggio1.SelectedIndex >= 0)
            {
                armaPersonaggioUnoSelezionato = true;
            }

            if (Combo_Arma_Personaggio2.SelectedIndex >= 0)
            {
                armaPersonaggioDueSelezionato = true;
            }

            if (Combo_Personaggio1.SelectedIndex >= 0 && Combo_Personaggio2.SelectedIndex >= 0)
            {
                if (Combo_Arma_Personaggio1.SelectedIndex >= 0 && Combo_Arma_Personaggio2.SelectedIndex >= 0)
                {
                    Personaggio p1    = Combo_Personaggio1.SelectedItem as Personaggio;
                    Personaggio p2    = Combo_Personaggio2.SelectedItem as Personaggio;
                    Arma        arma1 = Combo_Arma_Personaggio1.SelectedItem as Arma;
                    Arma        arma2 = Combo_Arma_Personaggio2.SelectedItem as Arma;
                    if (p1.Nome != p2.Nome)
                    {
                        personaggiDiversi = true;
                    }

                    if (sfondoSelezionato && personaggioUnoSelezionato && personaggioDueSelezionato && armaPersonaggioUnoSelezionato && armaPersonaggioDueSelezionato && personaggiDiversi)
                    {
                        Combattimento schermataCombattimento = new Combattimento(p1, p2, arma1, arma2, _img, _videogiocolocale);
                        schermataCombattimento.Show();
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Ricordati di selezionare uno sfondo, due personaggi (non uguali) e un'arma rispettiva a ciascuno.");
                    }
                }
                else
                {
                    MessageBox.Show("Seleziona quelle armi.");
                }
            }
            else
            {
                MessageBox.Show("Seleziona quei personaggi.");
            }
        }
예제 #14
0
 public List <Arma> OttieniArmiPossedute(Personaggio p)
 {
     return(p.Armi);
 }