private void testeVergleich(int vergleichsfeld, Vergleichsergebnis erwartetesErgebnis) { //Arrange AutokartenVergleich autokartenVergleich = new AutokartenVergleich(); //Act Vergleichsergebnis ergebnis = autokartenVergleich.Vergleiche(this.auto1, this.auto2, vergleichsfeld); //Assert Assert.AreEqual(erwartetesErgebnis, ergebnis); }
/// <summary> /// Wird bei Klick auf einen Button vor den Eigenschaften der eigenen Spielkarte aufgerufen /// </summary> /// <param name="vergleichsfeld"></param> private void Vergleich(int vergleichsfeld) { do { zufall2 = nr.Next(0, autos.Length); //0 inklusiv, autos.Length exklusiv } while (zufall1 == zufall2); zeigeAuto2(autos[zufall2]); //Vergleich der Werte Vergleichsergebnis vergleichsErgebnis = this.vergleich.Vergleiche(autos[zufall1], autos[zufall2], vergleichsfeld); autokarteAnzeige1.SetzeErgebnisFarben(vergleichsErgebnis, vergleichsfeld); switch (vergleichsErgebnis) { case Vergleichsergebnis.Gewinn: autokarteAnzeige2.SetzeErgebnisFarben(Vergleichsergebnis.Niederlage, vergleichsfeld); Int32.TryParse(lblSpielerpunkte.Text, out spielerpunkte); lblSpielerpunkte.Text = Convert.ToString(++spielerpunkte); break; case Vergleichsergebnis.Niederlage: autokarteAnzeige2.SetzeErgebnisFarben(Vergleichsergebnis.Gewinn, vergleichsfeld); Int32.TryParse(lblGegnerpunkte.Text, out gegnerpunkte); lblGegnerpunkte.Text = Convert.ToString(++gegnerpunkte); break; case Vergleichsergebnis.Gleichstand: autokarteAnzeige2.SetzeErgebnisFarben(Vergleichsergebnis.Gleichstand, vergleichsfeld); break; } //Je nach Punkteverhältnis wird die Schriftfarbe der Punktanzeige gesetzt if (spielerpunkte > gegnerpunkte) { lblSpielerpunkte.ForeColor = Color.Green; lblGegnerpunkte.ForeColor = Color.Red; } else if (spielerpunkte < gegnerpunkte) { lblSpielerpunkte.ForeColor = Color.Red; lblGegnerpunkte.ForeColor = Color.Green; } else if (spielerpunkte == gegnerpunkte) { lblSpielerpunkte.ForeColor = Color.Blue; lblGegnerpunkte.ForeColor = Color.Blue; } ButtonsEnabled(false); }
public void SetzeErgebnisFarben(Vergleichsergebnis vergleichsErgebnis, int vergleichsfeld) { switch (vergleichsErgebnis) { case Vergleichsergebnis.Gewinn: this.labels[vergleichsfeld].BackColor = Color.Chartreuse; this.BackColor = Color.LightGreen; break; case Vergleichsergebnis.Niederlage: this.labels[vergleichsfeld].BackColor = Color.LightCoral; this.BackColor = Color.Salmon; break; case Vergleichsergebnis.Gleichstand: this.labels[vergleichsfeld].BackColor = Color.LightBlue; this.BackColor = Color.Blue; break; default: throw new InvalidEnumArgumentException(@"Ungültiges Ergebnis"); } }
/// <summary> /// Liefert true, falls <see cref="auto1"/> bei dem übergebenen <see cref="vergleichsfeld"/> /// gegen <see cref="auto2"/> gewinnt. /// </summary> /// <param name="auto1"></param> /// <param name="auto2"></param> /// <param name="vergleichsfeld"></param> /// <returns></returns> private bool gewinntAuto1(Autokarte auto1, Autokarte auto2, int vergleichsfeld) { Vergleichsergebnis vergleichsErgebnis = this.vergleich.Vergleiche(auto1, auto2, vergleichsfeld); return(vergleichsErgebnis == Vergleichsergebnis.Gewinn); }