Wskazówki

Liczą się przede wszystkim oddechy.
Próba rozwiązania zadania przez znajdowanie wszystkich możliwych kombinacji jest niewłaściwa. Program powinien po wczytanej sytuacji grać sam ze sobą, raz jako czarny raz jako biały. Należy nauczyć program wykonywania najlepszych ruchów dla danej sytuacji. Jeśli jeden z graczy wykonuje ruch i ma możliwość zbicia co najmniej jednego piona, wygrywa. W przypadku braku takiego wygrywającego ruchu i bezpośredniego zagrożenia atari ze strony przeciwnika, konieczne jest wykonanie ruchu defensywnego. Jeśli gracz nie ma ruchu wygrywającego i nie jest bezpośrednio zagrożony należy rozpoznać sytuację na planszy i podjąć jak najlepszą decyzję. W przypadku wielu problemów ważna jest kolejność stawianych ruchów oraz kierunek prowadzenia pionów (np. w drabince).

Wskazówka techniczna. Często w grach planszowych występują przypadki brzegowe, tak jest i tutaj. Warto zamiast tablicy 9x9 zadeklarować tablicę 11x11 i linię brzegową uzupełnić kamieniami aktualnego koloru, w ten prosty sposób problem rogu i brzegów planszy jest rozwiązany i nie trzeba martwić się o przypadki skrajne.

Opis testów

Przykładowe testy

test 1 - Proste przypadki, w których jeden z graczy wygrywa już po pierwszym ruchu. (atari na białe kamienie, podwójne atari, atari na czarne kamienie, z którego nie ma możliwości ucieczki)

test 2 - Problemy na drugiej linii (potrzeba dwóch lub trzech ruchów do wygranej)

test 3 - Problemy w rogu i na brzegu planszy (potrzeba dwóch ruchów do wygranej)

test 4 - Podwójne atari. Jeden z graczy ma możliwość zagrania podwójnego atari.

test 5 - Drabinka.

test 6 - Różne techniki łapania pionów (do czterech ruchów np. geta).

test 7, 8 - Różnego rodzaju tesuji i łapanie pionów za pomocą brzegu.

test 9,10 - trudne przypadki, w których ważna jest kolejność stawianych kamieni.


© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.