Lass uns Code Golf spielen!
Bei einem Tic-Tac-Toe-Board-Status (Beispiel :)
|x|x|o|
|x|o|x|
|o|o|x|
Bestimmen Sie, ob ein Spiel win
ein lose
oder ist cat
. Ihr Code sollte eine dieser Optionen mit einem bestimmten Status ausgeben. Das obige Spiel sollte ausgegeben werdenlose
Um es klar auszudrücken: Ein Gewinn ist definiert als 3 x
Sekunden hintereinander (diagonal, horizontal, vertikal). Eine Niederlage ist 3 o
Sekunden hintereinander, während eine cat
Partie in keiner hintereinander ist.
Um die Dinge interessant zu machen, müssen Sie Ihre Eingabestruktur für den Zustand bestimmen, den Sie dann erklären müssen. Zum Beispiel xxoxoxoox
ist ein gültiger Zustand wie oben, wo jedes der Zeichen von links nach rechts, von oben nach unten gelesen wird. [['x','x','o'],['x','o','x'],['o','o','x']]
ist das Spiel in mehrdimensionaler Anordnung in ähnlicher Weise zu lesen. Während 0x1a9
das Hex für 110101001
eine geeignete Komprimierung ist, 1
kann es für x
s manipuliert werden und 0
kann für manipuliert werden o
.
Aber das sind nur ein paar Ideen, ich bin mir sicher, dass Sie viele von Ihnen haben könnten.
Grundregeln:
- Ihr Programm muss in der Lage sein, jeden lebensfähigen Zustand zu akzeptieren.
- Die Eingabeform muss einen beliebigen Zustand abbilden können.
- "Der Gewinnzustand muss aus der Tafel ermittelt werden"
- Nehmen Sie eine komplette Karte an
Win
vorherlose
zum Beispiel im Fall 'xxxoooxxx'
Die niedrigste Anzahl an Charakteren gewinnt
(win|lose|cat) [xo]{9}
bei der das erste Wort angibt, ob das Spiel ein Gewinn, eine Niederlage oder eine Katze (?) Für Spieler x ist. Kann jeden Staat vertreten.