Beispiel #1
0
        private void TogliVita(Personaggio personaggioColpito)
        {
            int q = 0;

            if (personaggioColpito.Equals(P1))
            {
                q = CalcolaDanno(P2);
            }
            else
            {
                q = CalcolaDanno(P1);
            }

            personaggioColpito.PuntiVita -= q;

            if (personaggioColpito.PuntiVita <= 0)
            {
                personaggioColpito.PuntiVita = 0;
                CombattimentoConcluso        = true;
                if (personaggioColpito.Equals(P1))
                {
                    throw new PersonaggioSenzaVitaException(P2);
                }
                else
                {
                    throw new PersonaggioSenzaVitaException(P1);
                }
            }
        }
Beispiel #2
0
 public CombattimentoClasse(Personaggio p1, Personaggio p2, Arma armaP1, Arma armaP2)
 {
     P1     = p1;
     P2     = p2;
     ArmaP1 = armaP1;
     ArmaP2 = armaP2;
     CombattimentoConcluso = false;
 }
Beispiel #3
0
        private int CalcolaDanno(Personaggio personaggioCheColpisce)
        {
            int danno;

            if (personaggioCheColpisce.Equals(P1))
            {
                danno = P1.PuntiForzaBase + ArmaP1.Danno;
            }
            else
            {
                danno = P2.PuntiForzaBase + ArmaP2.Danno;
            }

            return(danno);
        }
Beispiel #4
0
 public PersonaggioSenzaVitaException(Personaggio p) : base()
 {
     Vincitore = p;
 }
Beispiel #5
0
        private void btnProntoClick(object sender, RoutedEventArgs e)
        {
            if ((Button)sender == btnProntoP1 && !imgPersonaggioP1.Source.Equals(imgPersonaggioP2.Source))
            {
                //Il giocatore P1 è pronto
                btnPrimaP1.IsEnabled     = false;
                btnDopoP1.IsEnabled      = false;
                btnPrimaArmaP1.IsEnabled = false;
                btnDopoArmaP1.IsEnabled  = false;
                btnProntoP1.IsEnabled    = false;

                for (int i = 0; i < _immaginiPersonaggi.Count; i++)
                {
                    if (imgPersonaggioP1.Source.Equals(_immaginiPersonaggi[i].Key))
                    {
                        _p1Selezionato = _immaginiPersonaggi[i].Value;
                    }
                }

                for (int i = 0; i < _immaginiArmi.Count; i++)
                {
                    if (imgArmaPersonaggioP1.Source.Equals(_immaginiArmi[i].Key))
                    {
                        _armaP1Selezionata = _immaginiArmi[i].Value;
                    }
                }
            }
            else if ((Button)sender == btnProntoP2 && !imgPersonaggioP2.Source.Equals(imgPersonaggioP1.Source))
            {
                //Il giocatore P2 è pronto
                btnPrimaP2.IsEnabled     = false;
                btnDopoP2.IsEnabled      = false;
                btnPrimaArmaP2.IsEnabled = false;
                btnDopoArmaP2.IsEnabled  = false;
                btnProntoP2.IsEnabled    = false;

                for (int i = 0; i < _immaginiPersonaggi.Count; i++)
                {
                    if (imgPersonaggioP2.Source.Equals(_immaginiPersonaggi[i].Key))
                    {
                        _p2Selezionato = _immaginiPersonaggi[i].Value;
                    }
                }

                for (int i = 0; i < _immaginiArmi.Count; i++)
                {
                    if (imgArmaPersonaggioP2.Source.Equals(_immaginiArmi[i].Key))
                    {
                        _armaP2Selezionata = _immaginiArmi[i].Value;
                    }
                }
            }

            if (!btnProntoP1.IsEnabled && !btnProntoP2.IsEnabled)
            {
                //Tutti e due i personaggi sono pronti
                CombattimentoClasse classeCombattimento = new CombattimentoClasse(_p1Selezionato, _p2Selezionato, _armaP1Selezionata, _armaP2Selezionata);

                Combattimento combattimento = new Combattimento(classeCombattimento);
                combattimento.Show();
                this.Close();
            }
        }