Hallo,
ich arbeite gerade an einem winzigen TicTacToe. Ich hatte versucht mit diesem Quellcode schnell und direkt herauszubekommen, ob und wer gewonnen hat:
Spoiler anzeigen
nur leider geht das nicht, weil das ein Gequirle aus bool und FieldState wird:
Jedoch wollte ich nicht einfach alles Ausschreiben. Deshalb frage ich jetzt ob es nicht eine Lösung gibt, die nicht ganz so viel mehr ist? Und ja ich weiß, er wird mir sofort ausgeben, dass "None" gewonnen hat.
Vielen Dank im Voraus!
Valerian
ich arbeite gerade an einem winzigen TicTacToe. Ich hatte versucht mit diesem Quellcode schnell und direkt herauszubekommen, ob und wer gewonnen hat:
Quellcode
- public FieldState[,] spielFeld = new FieldState[3,3]; // Das Spielfeld
- public FieldState gewonnen()
- {
- return
- // Vertikale überprüfen
- spielFeld[0, 0] == spielFeld[0, 1] == spielFeld[0, 2] ||
- spielFeld[1, 0] == spielFeld[1, 1] == spielFeld[1, 2] ||
- spielFeld[2, 0] == spielFeld[2, 1] == spielFeld[2, 2] ||
- // Horizontale überprüfen
- spielFeld[0, 0] == spielFeld[1, 0] == spielFeld[2, 0] ||
- spielFeld[0, 1] == spielFeld[1, 1] == spielFeld[2, 1] ||
- spielFeld[0, 2] == spielFeld[1, 2] == spielFeld[2, 2] ||
- // Diagonalen überprüfen
- spielFeld[0, 0] == spielFeld[1, 1] == spielFeld[2, 2] ||
- spielFeld[2, 0] == spielFeld[1, 1] == spielFeld[0, 2];
- }
- public enum FieldState
- {
- Player1,
- Player2,
- None
- }
nur leider geht das nicht, weil das ein Gequirle aus bool und FieldState wird:
Der Operator "==" kann nicht auf Operanden vom Typ "bool" und "FieldState" angewendet werden.
Jedoch wollte ich nicht einfach alles Ausschreiben. Deshalb frage ich jetzt ob es nicht eine Lösung gibt, die nicht ganz so viel mehr ist? Und ja ich weiß, er wird mir sofort ausgeben, dass "None" gewonnen hat.
Vielen Dank im Voraus!
Valerian