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 winein loseoder 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 xSekunden hintereinander (diagonal, horizontal, vertikal). Eine Niederlage ist 3 oSekunden hintereinander, während eine catPartie 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 xxoxoxooxist 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 0x1a9das Hex für 110101001eine geeignete Komprimierung ist, 1kann es für xs manipuliert werden und 0kann 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
Winvorherlosezum 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.