Skip to content

Commit

Permalink
Verbessert Verständlichkeit des Codes (Übung 4-Alternative)
Browse files Browse the repository at this point in the history
In der vorherigen Lösung hat mich gestört, dass in der Methode "IstSpielGewonnen" die Markierung gemacht wurde. Daher habe ich die Ermittlung der gewinnreihe und die Markierung getrennt.
  • Loading branch information
suchja committed Apr 5, 2020
1 parent cadf711 commit 1b6df48
Showing 1 changed file with 33 additions and 19 deletions.
52 changes: 33 additions & 19 deletions TicTacToeWPF/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,12 @@ private void Kaestchen_Click(object sender, RoutedEventArgs e)
_istErsterSpielerAmZug = true;
}

if (IstSpielGewonnen())
var gewinnReihe = SucheGewinnReihe();

if (gewinnReihe.Count == 3)
{
HebeKaestchenHervor(gewinnReihe[0], gewinnReihe[1], gewinnReihe[2]);

if (_istErsterSpielerAmZug)
{
MessageBox.Show("Spieler 2 (O) hat gewonnen!");
Expand All @@ -77,50 +81,60 @@ private void Kaestchen_Click(object sender, RoutedEventArgs e)
}
}

private bool IstSpielGewonnen()
private List<Button> SucheGewinnReihe()
{
var resultat = new List<Button>();

if (IstGleicherSpielstein(kaestchen_0_0, kaestchen_0_1, kaestchen_0_2))
{
HebeKaestchenHervor(kaestchen_0_0, kaestchen_0_1, kaestchen_0_2);
return true;
resultat.Add(kaestchen_0_0);
resultat.Add(kaestchen_0_1);
resultat.Add(kaestchen_0_2);
}
else if (IstGleicherSpielstein(kaestchen_1_0, kaestchen_1_1, kaestchen_1_2))
{
HebeKaestchenHervor(kaestchen_1_0, kaestchen_1_1, kaestchen_1_2);
return true;
resultat.Add(kaestchen_1_0);
resultat.Add(kaestchen_1_1);
resultat.Add(kaestchen_1_2);
}
else if (IstGleicherSpielstein(kaestchen_2_0, kaestchen_2_1, kaestchen_2_2))
{
HebeKaestchenHervor(kaestchen_2_0, kaestchen_2_1, kaestchen_2_2);
return true;
resultat.Add(kaestchen_2_0);
resultat.Add(kaestchen_2_1);
resultat.Add(kaestchen_2_2);
}
else if (IstGleicherSpielstein(kaestchen_0_0, kaestchen_1_0, kaestchen_2_0))
{
HebeKaestchenHervor(kaestchen_0_0, kaestchen_1_0, kaestchen_2_0);
return true;
resultat.Add(kaestchen_0_0);
resultat.Add(kaestchen_1_0);
resultat.Add(kaestchen_2_0);
}
else if (IstGleicherSpielstein(kaestchen_0_1, kaestchen_1_1, kaestchen_2_1))
{
HebeKaestchenHervor(kaestchen_0_1, kaestchen_1_1, kaestchen_2_1);
return true;
resultat.Add(kaestchen_0_1);
resultat.Add(kaestchen_1_1);
resultat.Add(kaestchen_2_1);
}
else if (IstGleicherSpielstein(kaestchen_0_2, kaestchen_1_2, kaestchen_2_2))
{
HebeKaestchenHervor(kaestchen_0_2, kaestchen_1_2, kaestchen_2_2);
return true;
resultat.Add(kaestchen_0_2);
resultat.Add(kaestchen_1_2);
resultat.Add(kaestchen_2_2);
}
else if (IstGleicherSpielstein(kaestchen_0_0, kaestchen_1_1, kaestchen_2_2))
{
HebeKaestchenHervor(kaestchen_0_0, kaestchen_1_1, kaestchen_2_2);
return true;
resultat.Add(kaestchen_0_0);
resultat.Add(kaestchen_1_1);
resultat.Add(kaestchen_2_2);
}
else if (IstGleicherSpielstein(kaestchen_2_0, kaestchen_1_1, kaestchen_0_2))
{
HebeKaestchenHervor(kaestchen_2_0, kaestchen_1_1, kaestchen_0_2);
return true;
resultat.Add(kaestchen_2_0);
resultat.Add(kaestchen_1_1);
resultat.Add(kaestchen_0_2);
}

return false;
return resultat;
}

private bool IstGleicherSpielstein(Button erstesKaestchen, Button zweitesKaestchen, Button drittesKaestchen)
Expand Down

0 comments on commit 1b6df48

Please sign in to comment.