Wieso funktioniert dieser C# Tic Tac Toe Code nicht?
Wenn der erste Spieler etwas eingegeben hat, soll danach der zweite Spieler etwas eingeben können und das GameGrid Array, dessen Position mit der Nummer eingegeben wurde, soll dann mit dem Symbol vom jeweiligen Spieler ersetzt werden, allerdings kann nur der erste Spieler etwas eingeben, danach kann man gar nichts mehr schreiben.
Code der zu Spieler Eins gehört: https://pastebin.com/11SKmsHt
Code der zu Spieler Zwei gehört: https://pastebin.com/1dbbnGvQ
Ich weiß, dass es schon ziemlich lang ist und meine Erwartung auf eine Antwort ist gering, aber wenn ihr mir helfen könntet, wäre ich wirklich sehr dankbar!
Console.Clear();
gameGrid.PrintGrid();
habe ich jetzt in der GameLogic Methode getan und das aus PlayerOne und PlayerTwo entfernt.
Game Klasse: https://pastebin.com/2q593Apq
GameGrid Klasse: https://pastebin.com/p6CtFmhM
1 Antwort
Da die zwei unterschiedlichen Programme fast identisch sind, solltest du den gleichen Code auch zusammenführen.
Da der Zusammenhang zwischen dem Code für Spieler 1 und Spieler 2 unklar ist, kann man schwer helfen.
Soll jeder Spieler sein eigene Konsole (auf seinem eigenen Gerät?) haben oder soll es auf einem Gerät in einer Konsole laufen und jeder gibt nacheinander seine Eingabe ein?
In deinem geteilten Code fehlt auf jeden Fall, dass die Variable playerOneTurn bzw. playerTwoTurn auf true gesetzt wird. Nach dem ersten Zug, ist keiner mehr an der Reihe.
Vielleicht solltest du, wer gerade an der Reihe ist, auf einen anderen Weg speichern. Entweder isPlayerOneTurns für true = Spieler 1 und false für Spieler 2 oder eventuell auch als Enum.
Ach schade, ich dachte dass es übersichtlicher wäre, wenn es in zwei Links geteilt wäre.
Nein, das läuft alles auf der gleichen Konsole.
Du hast mein Problem auch gelöst, ich bedanke mich, allerdings sind da noch mega viele andere Fehler bei denen ich mal schauen muss, wie ich sie behebe 😅
Hab als Ergänzung jetzt alles nach Klasse sortiert.