Game made for university laboratories in group of 5 people.
Logika gry. Interfejs+klasa. Zarządza grą i nie pozwala graczom oszukiwać. Udostępnia ona swoje metody pakietowi z GUI.
availableCards : List<Card>
Karty dostępne w grze; takie, które mogą jeszcze zostać rozdane. Leżą dostępne na stosie.trashCards : List<Card>
Karty zużyte. Takie, które zostały wykorzystane przez jakiegoś gracza.points : Map<Integer, Integer>
Punkty zdobyte przez wszystkich graczy. Gra może mieć wiele rund; każda wygrana to jeden punkt dla gracza.players : List<Player>
Lista graczy. Indeksy na liście odpowiadają kolejności rozgrywek.board : Board
Plansza. Określa położenie żółwi.playingOrder : List<Integer>
Kolejność rozgrywek graczy. Przechowuje ID graczy. Pierwszy w kolejności jest gracz na indeksie 0.currentPlaymaker : int
Gracz, który zarządza obecną rozgrywką. Ustawiony jest indeks z listy playingOrder.winnerId : int
Id gracza, który wygrał ostatnią rundę.
newGame() : Board
Nowa gra. Tworzy karty, tworzy obiekt planszy (Board
). Rozdaje każdemu z graczy po pięć kart do ręki. Czyści całą planszę tj. ustawia żółwie na pierwszym polu. Losuje kolejność rozgrywek graczy. Zwraca planszę by móc ją wyświetlić (jej pola) na GUI.newRound() : Player
Tworzy nową rundę dla kolejnego gracza. Jeśli gracz z kolejki nie ma pięciu kart, to mu ją dobiera. Zwraca gracza, któremu dobrano (lub nie) kartkę. Sprawdza czy trzeba potasować karty ze stosu. Zwraca gracza by wyświetlić jego aktualne karty i żółwia, którym operuje.makeMove(card : Card) : Board
Wykonaj ruch – wykonuje ruch gracza. Dostaje kartę od obecnie rozgrywającego gracza. Wykonuje jego ruch, zwraca zmodyfikowaną plansze po ruchu. Inkrementuje kolejkę graczy (następne wywołanienewRound
będzie dla kolejnego gracza) Bierze pod uwagę, że więcej niż jeden żółw mogą się poruszyć przez rzucenie jednej karty.getResult() : Map<Player, Integer>
Zwraca strukturę przechowującą gracza oraz jego wynik w punktach.winGame() : void
Pozwala na aktualizację wyniku gracza. Dodaje punkt obecnie ostatnio rozgrywającemu graczowi. Trzeba ręcznie wywoływać pod stronie GUI przy każdej wygranej gracza, po wywołaniu metodymakeMove
.
Gracz posiadający kolorowego żółwia.
id : Integer
Identyfikator gracza.card : List<Card>
Lista pięciu kart w ręce gracza. Karty mogą się powtarzać.turtle : Turtle
Żółw gracza.
Plansza.
fields : List<List<Turtle>>
Lista wszystkich pól na planszy; każde pole ma listę żółwi, które na nim stoją. Trzeba ustalić ich sztywną liczbę np. 8. Musi też być pole początkowe, na którym żółtwi się nie stackuje.
turtle : Turtle
Żółw, którego dotyczy karta.move : int
O ile żółw ma się ruszyć i w którą stronę – dla ujemnych liczb się cofa. Ruch może być jedną z tych liczb: -2,-1,1,2.
Dostępne kolorki dla żółwi. Żółwie nie mogą się powtarzać; każdy gracz ma unikatowego. Enum:
YELLOW, BLUE, RED, GREEN, PURPLE