8.6.4. Testowanie robotów
8.6.4.1. Pakiet rgkit
Do budowania i testowania robotów używamy pakietu rgkit. W tym celu przygotowujemy
środowisko deweloperskie, zawierające bibliotekę rg:
~$ mkdir robot; cd robot
~robot/$ virtualenv env
~robot/$ source env/bin/activate
(env):~robot$ pip install rgkit
Po wykonaniu powyższych poleceń i zapisaniu implementacji klasy Robot
np. w pliku ~/robot/robot01.py możemy uruchamiać grę przeciwko
samemu sobie:
(env)~/robot$ rgrun robot01.py robot01.py
Jeżeli utworzymy inne implementacje robotów, np. w pliku ~/robot/robot02.py
skonfrontujemy je poleceniem:
(env)~/robot$ rgrun robot01.py robot02.py
Przydatne opcje polecenia rgrun:
-H– symulacja bez UI-r– roboty wprowadzane losowo zamiast symetrycznie.
Uwaga
Pokazana powyżej instalacja zakłada użycie środowiska wirtualnego tworzonego
przez pakiet virtualenv, dlatego przed uruchomieniem symulacji,
a także przed użyciem omówionego niżej pakietu robotgame-bots trzeba
pamiętać o wydaniu w katalogu robot polecenia:
~/robot$ source env/bin/activate
8.6.4.2. Roboty open-source
Swoje roboty warto wystawić do gry przeciwko przykładowym robotom
dostarczanym przez projekt robotgame-bots:
Instalacja sprowadza się do wykonania polecenia w utworzonym wcześniej katalogu robot:
~/robot$ git clone https://github.com/mpeterv/robotgame-bots bots
Wynikiem polecenia będzie utworzenia podkatalogu ~/robot/bots zawierającego
kod przykładowych robotów.
Listę dostępnych robotów najłatwiej użyskać wydając polecenie:
(env)~/robot$ ls bots
Aby zmierzyć się z wybranym robotem – na początek sugerujemy stupid26.py – wydajemy polecenie:
(env)~/robot$ rgrun mojrobot.py bots/stupid26.py
Od czasu do czasu można zaktualizować dostępne roboty poleceniem:
~/robot/bots$ git pull --rebase origin master
8.6.4.3. Symulator rg
Bardzo przydatny jest symulator zachowania robotów. Instalacja
w katalogu robot:
~/robot$ git clone https://github.com/mpeterv/rgsimulator.git
Następnie uruchamiamy symulator podając jako parametr nazwę przynajmniej jednego robota (można dwóch):
(env)~/robot$ rgsimulator/rgsimulator.py robot01.py [robot02.py]
Symulatorem sterujemy za pomocą klawiszy:
Klawisze kursora lub WASD do zaznaczania pól.
Klawisz F: utworzenie robota-przyjaciela w zaznaczonym polu.
Klawisz E: utworzenie robota-wroga w zaznaczonym polu.
Klawisze Delete or Backspace: usunięcie robota z zaznaczonego pola.
Klawisz H: zmiana punktów HP robota.
Klawisz T: zmiana rundy.
Klawisz C: wyczyszczenie planszy gry.
Klawisz Spacja: pokazuje planowane ruchy robotów.
Klawisz Enter: uruchomienie rundy.
Klawisz L: załadowanie meczu z robotgame.net. Należy podać tylko numer meczu.
Klawisz K: załadowanie podanej rundy z załadowanego meczu. Also updates the simulator turn counter.
Klawisz P: zamienia kod robotów gracza 1 z 2.
Klawisz O: ponowne załadowanie kodu obydwu robotów.
Klawisz N: zmienia działanie robota, wyznacza „następne działanie”.
Klawisz G: tworzy i usuwa roboty w punktach wejścia (ang. spawn locations), „generowanie robotów”.
Wskazówka
W Linuksie warto utworzyć sobie przyjazny link do wywoływania symulatora.
W katalogu robot wydajemy polecenia:
(env)~/robot$ ln -s rgsimulator/rgsimulator.py symuluj
(env)~/robot$ symuluj robot01.py [robot02.py]
Informacja
Niniejsza dokumentacja jest nieautoryzowanym tłumaczeniem oficjalnej dokumentacji dostępnej na stonie RobotGame, a także RobotGame – rgkit. Opis działania symulatora robotów przetłumaczono na podstawie strony projektu Rgsimulator.
Materiały Python 101
udostępniane przez
Centrum Edukacji Obywatelskiej na licencji
Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowa.
- Utworzony:
2026-05-30 o 19:12 w Sphinx 7.3.7
- Autorzy: