/// <summary> /// Methode wird aufgerufen, damit die KI ihren Zug machen kann. /// </summary> /// <param name="erlaubt">Flag, ob ein KI-Zug noch nötig ist.</param> private void KIZugAbarbeiten(bool erlaubt) { //Dies tritt ein, wenn eine KI dran ist und läuft weiter, wenn der andere Spieler ebenfalls eine KI ist und das Spiel nicht beendet wurde. while (status.GetKiZug() && erlaubt) { status = sl.KiZug(); AnzeigeErgebnis erg = Anzeigen(); erlaubt = AnzeigeErgebnisBearbeiten(erg); } }
/// <summary> /// Löst abhängig von AnzeigeErgebnis ein neues Spiel aus oder setzt das Aktuelle fort oder beendet es. /// </summary> /// <param name="erg">AnzeigeErgebnis Objekt der Mitteilung.</param> /// <returns>Flag die angibt, ob weiterhin KI Züge abgefragt werden sollen.</returns> private bool AnzeigeErgebnisBearbeiten(AnzeigeErgebnis erg) { if (erg == AnzeigeErgebnis.Fortsetzen) { SpielStarten(); return(true); } else if (erg == AnzeigeErgebnis.Beenden) { SpielBlockieren(); return(false); } return(true); }
/// <summary> /// Wird im Falle eines Unentschieden aufgerufen. Hilfsmethode von Anzeigen(). /// </summary> /// <returns>Ergebnis des Mitteilung Fensters.</returns> private AnzeigeErgebnis Unentschieden() { AnzeigeErgebnis ergebnis = MitteilungAnzeigen("Unentschieden"); return(ergebnis); }