Dokumentacja gry Wumpus

23.04.2013 - Kuba Kowalski
Trudność

Zasady gry programistycznej Wumpus znajdującej się w systemie Meridius.

Podstawowe informacje
Protokół komunikacji
Przykłady rozgrywki
Wskazówki strategiczne
Przykładowe boty

Zasady gry

Gra Wumpus jest rozszerzeniem gry "Wumpus World" z książki S. Russella i P. Norviga Artificial Intelligence: A Modern Approach. W grze bohater poszukuje złota eksplorując jaskinię pełną niebezpieczeństw: straszliwych potworów zwanych wumpusami oraz bezdennych otchłani.

Jaskinia jest prostokątem o wymiarach maksymalnie 10×10 pól. Wejście do jaskini znajduje się zawsze w lewym dolnym rogu planszy. W jaskini znajduje się pewna liczba losowo rozstawionych wumpusów, losowo generowane przepaście oraz jedna sztabka złota. Możliwe są następujące kombinacje zawartości pól: wumpus może stać na złocie lub w przepaści, natomiast złoto nie może się znajdować w przepaści.

Na początku każdej rozgrywki bohater stoi u wejścia do jaskini zwrócony na północ. Eksplorując jaskinię może wykonać następujące akcje:

  • goC zrobić krok do przodu przechodząc na kolejne pole,
  • rotateLC rotateRC odwrócić się o 90 stopni w dowolną stronę,
  • shotC strzelić z łuku (na wprost),
  • grabC podnieść złoto (akcja się powiedzie tylko gdy bohater stoi na polu ze złotem),
  • exitC wyjść z jaskini (akcja się powiedzie tylko gdy bohater stoi na polu startowym).

Gdy bohater strzela ze swojego łuku, strzała wylatuje na wprost i unieszkodliwia pierwszego wumpusa którego napotka na swojej drodze. Strzał jest niecelny jeśli strzała uderzy w ścianę jaskini nie przelatując przez pole z wumpusem. Każde użycie łuku, bez względu na jego celność, zużywa strzały których bohater ma w swoim kołczanie jedynie kilka.

Bohater orientuje się w terenie jedynie za pomocą swoich zmysłów. W trakcie eksploracji jaskini może on odebrać następujące percepty (pola są nazywane sąsiednimi jeśli stykają się bokiem):

  • leftbreezeC powiew wiatru oznaczający że na sąsiednim polu znajduje się przepaść,
  • leftstenchC smród oznaczający że na sąsiednim polu znajduje się wumpus,
  • leftglitterC błysk złota występujący gdy bohater stoi na polu ze sztabką,
  • leftscreamC wrzask oznaczający że wystrzelona w poprzedniej turze strzała trafiła w wumpusa,
  • leftbumpC uderzenie o ścianę występujące gdy bohater zrobi krok poza granice jaskini.

Oprócz tego bohater zna posiadaną przez siebie liczbę strzał.

Na poniższym rysunku pokazującym fragment zakończonej rozgrywki znajduje się ujawniona zawartość jaskini oraz percepty aktualnie odbierane przez bohatera. Podczas oglądania powtórki już rozegranego meczu dostępne są opcje pozwalające na włączanie i wyłączanie tablicy wyników oraz mgły ujawniającej zawartość całej mapy.

view

Rozgrywka kończy się w momencie gdy bohater zdecyduje się na opuszczenie jaskini lub wejdzie na pole, na którym znajduje się wumpus bądź przepaść. Punkty są wyliczane pod koniec rozgrywki zgodnie z następującymi zasadami:

  • -1 za każdą turę spędzoną w jaskini,
  • -15 za każde wystrzelenie z łuku,
  • +1000 za wyjście z labiryntu ze złotem,
  • -1000 za wejście na pole z wumpusem lub przepaścią,
  • -5000 za nieprawidłowe działanie programu (np. próbę wykonania dwóch akcji na turę).

Dodatkowo obowiązuje limit tur, który dla jaskini o wymiarach n na m wynosi 6*n*m. Jego przekroczenie traktowane jest na równi z nieprawidłowym działaniem programu (kara wysokości -5000 punktów).

Dane szczegółowe

Tryby gry: Zasady klasyczne, Losowa rozgrywka, Zaawansowane ustawienia, Własna mapa
Typy zawodników: Bohater
Liczba zawodników: 1
Parametry: Szerokość jaskini, Wysokość jaskini, Procentowa szansa na przepaść, Liczba wumpusów, Liczba strzał, Kod mapy
Punktacja: n∈ℕ
Czas tury (bot): 10 sekund
Czas tury (gracz): 100 sekund

Tworzenie nowej rozgrywki

Każda rozgrywka zależy od szeregu parametrów: wielkości jaskini, procentowej szansy na przepaść, liczby losowo rozstawionych wumpusów oraz liczby posiadanych przez bohatera strzał. Podczas tworzenia nowej rozgrywki do wyboru są cztery tryby w których może ona zostać uruchomiona:

  • Zasady klasyczne, w którym gra toczy się na mapie o wymiarach 4×4, szansa na przepaść wynosi 20%, w jaskini znajduje się jeden wumpus, a bohater ma jedną strzałę.
  • Losowa rozgrywka, w którym wszystkie parametry rozgrywki są losowane.
  • Zaawansowane ustawienia, w którym samodzielnie można modyfikować wszystkie parametry rozgrywki (podanie wartości -1 spowoduje, że dany parametr będzie losowany jak w trybie Losowa rozgrywka).
  • oraz Własna mapa, w którym rozgrywka toczy się na podanej mapie. Zakodowaną mapę można odczytać z parametru Zakodowana mapa dostępnego w statystykach rozgrywki po jej zakończeniu.

Aby stworzyć własną zakodowaną mapę należy przesłać tekst następującej postaci: N\nM\nS\nLine1\nLine2\nLineM, gdzie symbol \n oznacza znak nowej linii, N to szerokość mapy, M jej wysokość, zaś S liczba strzał posiadanych przez bohatera. Następnie powinno się znajdować M linii o N literach kodujących zawartość pól planszy w następujący sposób:

  • . - puste pole
  • W - pole zawierające wumpusa
  • _ - pole zawierające przepaść
  • $ - pole zawierające złoto
  • w - pole zawierające wumpusa i przepaść
  • S - pole zawierające wumpusa i złoto

Zgodnie z tymi zasadami, planszę przedstawioną powyżej, koduje ciąg:

1
2
3
4
5
6
7
4
4
3
W...
._W.
._._
.$_.

Gra bezpośrednia

Po uruchomieniu rozgrywki w której uczestniczy profil użytkownika (w polu wyboru zawodników zostało wybrane Ja lub Gracz), użytkownik ten otrzyma stosowną informację na panelu Moje zaproszenia. Kliknięcie zaproszenia spowoduje jego przyjęcie i przeniesienie do okna z rozgrywką.

W trakcie rozgrywki bezpośredniej ekran gracza wygląda następująco (przedstawiona sytuacja odpowiada wcześniejszemu obrazkowi):

manualplay

Po lewej stronie znajdują się informacje o aktualnych perceptach oraz posiadanej liczbie strzał. Na ekranie głównym widać kierunek w jakim jest zwrócony bohater oraz akcje ruchu które można wykonać (kliknięcie strzałki spowoduje odpowiednio ruch do przodu lub obrót w jednym z kierunków). Aby wykonać którąś z pozostałych dostępnych akcji należy wybrać przycisk z panelu po prawej stronie. Przyciski te odpowiadają za (kolejno od góry): strzał z łuku, podniesienie złota, opuszczenie jaskini.

Alternatywnie, każdy z uczestników może przekazywać polecenia wysyłając je za pomocą konsoli gracza, zgodnie z protokołem komunikacji opisanym w następnym rozdziale.

0
Twoja ocena: Brak

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com