/// <summary> /// Liest zwei Zeichen ein und ordnet sie einem Feld zu /// </summary> /// <param name="aktuellerSpieler">Der aktuelle Spieler</param> /// <returns>Eine Instanz vom Typ Spielzug</returns> public Spielzug LeseEingabe(Spieler aktuellerSpieler) { Console.WriteLine(aktuellerSpieler.ToString()); Feld ausgewähltesFeld = Feld.Ungültig; while (ausgewähltesFeld == Feld.Ungültig) { string aktuelleZeile = Console.ReadLine() + ""; string erstesZeichen = string.Empty; string zweitesZeichen = string.Empty; if (aktuelleZeile.Length == 2) { erstesZeichen = aktuelleZeile[0].ToString(); zweitesZeichen = aktuelleZeile[1].ToString(); } ausgewähltesFeld = EingabeAuswerten(erstesZeichen.Trim().ToLower(), zweitesZeichen.Trim().ToLower()); if (ausgewähltesFeld == Feld.Ungültig) { Console.WriteLine(konsolenWert.ungültigeEingabe); } } Spielzug ausgewählerSpielzug = new Spielzug(aktuellerSpieler, ausgewähltesFeld); return(ausgewählerSpielzug); }
/// <summary> /// Beinhaltet die Kernfunktionalität des Spiels für die Ausführung innerhalb einer Konsole /// </summary> public void StarteSpiel() { Console.WriteLine("Lass uns TikTakToe spielen!"); Console.WriteLine("Spieler 1 (O), Spieler 2 (X)"); konsolenAusgabe.SpielInKonsoleAusgeben(spielfeld); Spieler aktuellerSpieler = Spieler.Spieler1; while (spielfeld.GibGewinnerZurück == Spieler.Undefiniert) { Spielzug spielzug = konsolenEingabe.LeseEingabe(aktuellerSpieler); spielfeld.spielzugHinzufügen(spielzug); konsolenAusgabe.SpielInKonsoleAusgeben(spielfeld); if (spielfeld.GibGewinnerZurück == Spieler.Undefiniert) { if (aktuellerSpieler == Spieler.Spieler1) { aktuellerSpieler = Spieler.Spieler2; } else if (aktuellerSpieler == Spieler.Spieler2) { aktuellerSpieler = Spieler.Spieler1; } } else { Console.WriteLine(string.Format("{0} {1}", new object[] { konsolenWerte.gewinntext, spielfeld.GibGewinnerZurück.ToString() })); Console.ReadLine(); } } }