Praca z apletem Checkers

Aplet Checkers umożliwia uruchamianie funkcji heurystycznej oceny pozycji do gry w warcaby, z wykorzystaniem algorytmu MIN-MAX. Aplet dostarcza interfejsu użytkownika do sterowania ustawieniami oraz przebiegiem gry, zasadniczego algorytm minimaksu, jak również sprawdzania zasad gry (poniżej). Aplet wymaga zainstalowanych w systemie pakietów Javy JRE oraz JDK.

Zasady gry

Aplet realizuje wariant gry o następujących zasadach:

API funkcji heurystycznej

Interfejs funkcji heurystycznej, wymaganej przez aplet, jest opisany w komentarzu funkcji przykładowej, którą można załadować do edytora po uruchomieniu apletu (zarówno dla Javy jak i Javascriptu).

Interfejs użytkownika

Tryby gry
Tryby gry wybierane są osobno dla górnego i dolnego gracza.

Ustawienie warcabnicy
Możliwe jest obrócenie warcabnicy po kliknięciu na przycisk 'Turn board around'.

Poziom zagłębienia
Pole wyboru 'Level' umożliwia wybór poziomu zagłębienia w algorytmie Min-Max.

Uruchamianie testów
Przeprowadzenie serii rozgrywek w celu zbadania jakości funkcji heurystycznej oceny pozycji, możliwe jest po zmianie wartości w polu 'Number of tests'.

Uruchomienie/zatrzymanie gry
Przycisk 'Play'/'Pause' umożliwia uruchomienie algorytmu i symulacji dla ustawionych parametrów gry.

Animacja
Aplet umożliwia wyświetlanie symulacji gry w kilku trybach:

Szybkość gry
Zmiana szybkości gry możliwa jest po zmianie wartości pola wyboru 'Game speed'.

Dziennik zdarzeń
W lewej dolnej części apletu znajduje się pole do wyświetlania zdarzeń z przebiegu gry. Dziennik może być włączony ('Log' ustawione na 'on') lub wyłączony ('Log' ustawione na 'off'). Istnieje możliwość zapisu dziennika zdarzeń. W tym celu należy wybrać 'Save' z pola wyboru 'Log'.

Edytor stanu
Po kliknięciu na przycisk 'Edit board' możliwe jest ustawienie stanu początkowego gry. W trakcie definiowania tego stanu, można wybierać kolor pionka oraz figurę (pola wyboru 'Color' oraz 'Figure').

Edytor funkcji
Pole tekstowe w prawej części apletu umożliwia pisanie własnej funkcji oceny pozycji.

Operacje na plikach
W trakcie pracy apletu może on mieć załadowane maksymalnie dwie funkcje użytkownika (Java lub Javascript). Można tworzyć i wykorzystywać więcej funkcji, ale wtedy muszą one być zapisywane do i ładowane z plików dyskowych operacjami:

Rozwiązania problemów

W przypadku problemów z kompilacją plików Java w systemach Windows (niezbędne jest polecenie 'javac' przy próbie kompilacji funkcji użytkownika), należy prawidłowo ustawić zmienną środowiskową PATH (nie trzeba usuwać reszty zdefiniowanych ścieżek, tylko dodać nową po średniku). Krótka instrukcja tutaj:
http://tomasz.topa.pl/java/java-dodawanie-zmiennej-srodowiskowej-path

Po dodaniu zmiennej środowiskowej należy zrestartować komputer w celu wczytania zmian. Jeżeli dalej nie można skompilować pliku, to znaczy, że za błąd może odpowiadać aplet wcześniej umieszczony w pamięci cache. Wówczas należy wykonać następujące kroki:

Uwaga!

W przypadku błędów pojawiających się w logu apletu związanych z dostępem IO - 'acces denied', który może wystąpić podczas:

można uruchomić applet z poziomu konsoli (wiersza poleceń) wpisując polecenie:

appletviewer -J-Djava.security.policy=http://sequoia.ict.pwr.wroc.pl/~witold/ai/Checkers/java.policy.applet http://sequoia.ict.pwr.wroc.pl/~witold/ai/Checkers/