JIPP PO. MSUI 11.III.2OO4. Program zaliczeniowy nr 2 W domino gra się kostkami. Każda kostka składa się z dwu pól zawierających liczby z przedziału 0..6. Żadne dwie kostki się nie powtarzają, kolejność pól nie ma znaczenia, zatem pełen zestaw domina zawiera 28 kostek ({0,0}, {0,1}, {0,2}, ..., {6,6}). W domino może grać kilku graczy (>=1). Gracze są ustawieni w pewnej kolejności. Pierwszy z graczy miesza kostki i rozdaje każdemu (także sobie) po 5 kostek, resztę zostawia ułożone w stos na stole. Gracze widzą swoje kostki, natomiast nie widzą zawartości kostek leżących na stole (te są położone liczbami do dołu). Teraz zaczyna się właściwa gra. Gracze po kolei (zaczynając od pierwszego gracza) dokładają po jednej kostce z tych, które mają w ręku do kostek na stole, przy czym kostki (traktowane teraz już jako pary uporządkowane) układa się w ciąg par tak, by każda para miała wartość pierwszego pola równą wartości drugiego pola pary poprzedzającej (o ile jest takowa). Np. ciąg: (0,2), (2,1), (1,0), (0,0) jest poprawny i można do niego dołożyć jedynie pary mające jedno pole o wartości 0. Można dostawiać tak na początek jak i na koniec ciągu. (Zgodnie z podanymi zasadami na początku można do pustego ciągu dołożyć cokolwiek.). Jeśli gracz może dołożyć kostkę, to musi to zrobić, jeśli zaś nie może, to musi za karę dobrać kostkę z wierzchołka stosu na stole (chyba że nic już tam nie ma). Gra się kończy, gdy któryś z graczy pozbędzie się wszystkich kostek (i ten gracz wygrywa) lub gdy stos jest pusty i żaden z graczy nie może dołożyć żadnej ze swoich kostek (wtedy jest remis). Gracze stosują różne strategie. Dzieci wybierają dowolną kostkę pasującą do ciągu na stole. Uczniowie chytrze zaglądają do kostek trzymanych przez rywali i wybierają (o ile to możliwe) spośród swoich kostek taką, która pasuje do ciągu, ale po dołożeniu nie będzie pasowała następnemu graczowi (nie troszczą się o kostkę, która jest przeciwnym końcem ciągu, tamta może pasować). Studenci dostawiają taką kostkę, która uniemożliwi następnemu graczowi dołożenie swojej. (Oczywiście tak uczniowie jak i studenci w sytuacji, w której nie mogą dołożyć kostki zgodnie ze swoją strategią dostawiają dowolną kostkę dającą się dołożyć zgodnie z regułami gry). Należy: Napisać program, który dla zadanej uporządkowanej kolekcji graczy przeprowadzi symulację rozgrywki, wypisując po każdym ruchu układ kostek na stole oraz kostki trzymane przez poszczególnych graczy. Na koniec należy wypisać który gracz wygrał (lub że jest remis). Przy pisaniu programu mogą się okazać pomocne następujące operacje: · generowanie pełnego zestawu kostek domina, · metoda dziecka/ucznia/studenta wybierająca dokładaną kostkę (nil gdy nie da się dołożyć) i miejsce dołożenia. Uwaga: podane zasady gry w domino mogą się różnić od oficjalnie obowiązujących. Np. jedna z encyklopedii internetowych stwierdza, że kostki zawierają pola z liczbami 1..6. Szczególnie proszę zwrócić uwagę na to, co widzą poszczególni gracze. Życzymy powodzenia!