/// <summary> /// Markiert, welcher Spieler am Zug ist. Hilfsmethode von Anzeigen(). /// </summary> private void SpielerAktualisieren() { if (status.GetSpieler1Zug()) { LblSpieler1.BackColor = markiert; LblSpieler2.BackColor = nichtMarkiert; } else { LblSpieler2.BackColor = markiert; LblSpieler1.BackColor = nichtMarkiert; } }
/// <summary> /// Methode, die im Falle eines Zuges einer KI von der Oberfläche aufgerufen wird. /// </summary> /// <returns>SpielStatus Objekt, nach dem Zug der KI.</returns> public SpielStatus KiZug() { //Da die leichte KI keine Perspektive braucht, muss bei ihr keine Unterscheidung gemacht werden, als welcher Spieler sie spielt. if (spieler1 == Spielmodi.KILeicht || spieler2 == Spielmodi.KILeicht) { LeichteKI ki = new LeichteKI(); status.Setzte(ki.GetZug(status.GetFeld()), status.GetSpieler1Zug()); status.SetSiegFelder(SiegTesten()); status.ZugBeenden(); } //Bei der schweren KI muss die Rolle abgefragt werden, damit die KI aus der richtigen Perspektive spielt. else { SchwereKI ki = new SchwereKI(); if (status.GetSpieler1Zug() && spieler1 == Spielmodi.KISchwer) { status.Setzte(ki.GetZug(status.GetFeld(), 1), status.GetSpieler1Zug()); } else if (!status.GetSpieler1Zug() && spieler2 == Spielmodi.KISchwer) { status.Setzte(ki.GetZug(status.GetFeld(), 2), status.GetSpieler1Zug()); } status.SetSiegFelder(SiegTesten()); status.ZugBeenden(); } return(status); }