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); } } }
public CombattimentoClasse(Personaggio p1, Personaggio p2, Arma armaP1, Arma armaP2) { P1 = p1; P2 = p2; ArmaP1 = armaP1; ArmaP2 = armaP2; CombattimentoConcluso = false; }
private int CalcolaDanno(Personaggio personaggioCheColpisce) { int danno; if (personaggioCheColpisce.Equals(P1)) { danno = P1.PuntiForzaBase + ArmaP1.Danno; } else { danno = P2.PuntiForzaBase + ArmaP2.Danno; } return(danno); }
public PersonaggioSenzaVitaException(Personaggio p) : base() { Vincitore = p; }
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(); } }