Zagrajmy w golfa z kodem!
Biorąc pod uwagę stan planszy kółko i krzyżyk (przykład :)
|x|x|o|
|x|o|x|
|o|o|x|
Ustal, czy gra jest wina loselub cat. Twój kod powinien wypisać dowolną z tych opcji w danym stanie. Powyższa gra powinna zostać wypisanalose
Żeby było jasne: wygrana jest definiowana jako dowolne 3 xs z rzędu (po przekątnej, w poziomie, w pionie). przegrana to 3 os z rzędu, podczas gdy catgra nie jest z rzędu.
Aby uczynić rzeczy interesującymi, musisz określić strukturę wejściową dla stanu, którą następnie musisz wyjaśnić. Na przykład xxoxoxooxjest to prawidłowy stan, jak pokazano powyżej, w którym każdy ze znaków jest odczytywany od lewej do prawej, od góry do dołu. [['x','x','o'],['x','o','x'],['o','o','x']]to gra w wielowymiarowej tablicy odczytanej w podobny sposób. Chociaż 0x1a9jest to wartość szesnastkowa, 110101001może działać jako odpowiednia kompresja, w której 1można manipulować dla xsi i 0można nim manipulować o.
Ale to tylko niektóre pomysły, jestem pewien, że możesz mieć wiele własnych.
Podstawowe zasady:
- Twój program musi być w stanie zaakceptować dowolny możliwy stan.
- Forma danych wejściowych musi być w stanie reprezentować dowolny stan.
- „Stan wygranej należy ustalić z planszy”
- Załóż pełną tablicę
Winwcześniejlosena przykład w sprawie „xxxoooxxx”
Wygrywa najniższa liczba postaci
(win|lose|cat) [xo]{9}gdzie pierwsze słowo oznacza, czy gra jest wygrana, przegrana, czy kot (?) Dla gracza x. Potrafi reprezentować dowolny stan.