(ac) Botwars
Konkurs Programistyczny dla XII LO

Środowisko testowe

Zgłoszone do (ac) Botwars programy będziemy testowali w naszym środowisku testowym.
Poniżej udostępniamy środowisko testowe, w którym możesz testować swojego bota zanim ostatecznie zgłosisz go na konkursu.

Do pobrania:

Jak Twój program (bot) będzie testowany?

Zacznijmy od przypomnienia, że Twój bot na wejściu dostanie mapę (7 wierszy z siedmioma liczbami całkowitymi rozdzielonymi pojedynczą spacją), a na wyjście ma podać współrzędne (w jednym wierszu dwie liczby całkowite rozdzielone pojedynczą spacją). Każda liczba na wejściu musi być ze zbioru { 0, 1, 2, 9 } i wyjściu ze zbioru { 1, 2, 3, 4, 5, 6, 7 }.

Schemat działania testu:

  • Bot to Twój program zgłoszony na konkurs.
    W środowisku testowym do pobrania znajduje się przykładowy bot - bw_bot.exe.
  • SO (System Obrony) to program, który przechwyci współrzędne wysłane z Twojego bota na wyjście. Na ich podstawie SO zaktualizuje mapę roboczą, która następnie będzie wejściem dla Twojego bota.
    W środowisku testowym do pobrania SO to bw_so.exe.
Bot we/wy

Pojedynczy test będzie polegał na tym, że Twój bot zostanie uruchominy w pętli N razy, nie więcej jednak niż 45. Im mniej tym lepiej, bo będzie to oznaczać, że szybko zdezaktywował wszystkie drony.
W kolejnych swoich uruchomieniach bot będzie wczytywał, a następnie analizował mapę roboczą i na tej podstawie podawał współrzędne sektora, do którego SO wyśle mikrobota. SO wykorzystując otrzymane współrzędne, sprawdzi sektor (wykorzystując mapę wzorcową) i zaktualizacje mapę roboczą.

Testowanie w praktyce, czyli jak testować swojego bota?

  1. Utwórz na swoim komputerze folder, w którym będziesz testował swój program (swojego bota). U nas będzie to folder BOTWARS w katalogu głównym dysku C: (C:\Botwars).
  2. Rozpakuj do niego zawartość paczki ze środowiskiem testowym (botwars_arena.zip).

    ST1

    Zawartość paczki:

    • bw_bot.exe - przykładowy program-bot. Jego obecność ma ułatwić w zorientowaniu się jak działa środowisko testowe.
    • bw_cleaner.exe - program pomocniczy usuwający białe znaki z końca łańcucha współrzędnych.
    • bw_kreator_mapy.exe - program do tworzenia losowej mapy wzorcowej oraz mapy roboczej.
    • bw_so.exe - program pobierający współrzędne i na podstawie mapy wzorcowej aktualizujący mapę roboczą, na która wysyłana jest do bota.
    • go.bat - główny skrytp testowy uruchamiający w pętli bota (testujący jego działanie).
    • test.bat - skrypt szybkiego testowania Twojego bota.
    • czytaj.txt - krótka instrukcja.
       
  3. Do folderu ze środowiskiem testowym (u nas c:\botwars) wkopiuj wersję wykonywalną EXE swojego programu (jeżeli nie wiesz jak to zrobić, odsyłam do wskazówek technicznych). W dalszej części opisu testowanym botem będzie dołączony, przykładowy program bw_bot.exe.
  4. Uruchom w Windows Wiersz polecenia, a następnie poleceniem cd c:\botwars wejdź do folderu ze środowiskiem testowym.
    Poleceniem dir możesz sprawdzić, czy w bieżącym folderze znajdują się wszystkie wymagane pliki:

    ST2

  5. Uruchom test poleceniem test.bat nazwa_twojego_bota.exe (do sprawdzenia działania środowiska możesz użyć bw_bot.exe):

    ST3

    W trakcie testu w folderze C:\Botwars powstaną trzy pliki:

    • mapa_wzorcowa.txt - plik z mapą wzorcową dla SO, na której zaznaczone jest położenie wszystkich dronów (tylko do odczytu).
    • mapa_robocza.txt - plik z mapą roboczą, która jest aktualizowana po każdym wywołaniu Twojego bota. Ta mapa jest wejściem dla Twojego bota.
    • wsp.txt - plik z wszystkimi, podanymi przez Twojego bota, współrzędnymi. Na końcu pliku, po zakończeniu testu, dopisywana jest informacja o wyniku testu (SUKCES lub PORAŻKA), ilość współrzędnych podanych przez Twojego bota (im mniej tym lepiej) oraz liczbie zdezaktywowanych segmentów wszystkich dronów (10 to max).