========================
               Program semestralny z MP
               ========================
Opis gry "Gangsterzy"
---------------------

Gra odbywa się na prostokątnej planszy o n kolumnach i m
wierszach. Plansza ma zatem n * m pól; zakładamy, że 3 <= n,m <= 12.

W grze bierze udział dwóch graczy, których będziemy nazywać
gangsterami, odpowiednio, czerwonym i zielonym (od kolorów ich marynarek).
			           
Na planszy wyróżniamy cztery rodzaj pól: asfalt, słup, miejsce parkingowe
gangstera czerwonego i miejsce parkingowe gangstera zielonego.
Na planszy jest n miejsc parkingowych gracza czerwonego. Są one umieszczone 
na dole planszy, tzn. w najniższym wierszu.
Na planszy jest także n miejsc parkingowych gracza zielonego. Umieszczone są
one na górze planszy, tzn. zajmują najwyższy wiersz.
Pozostałe pola są asfaltem lub słupami.
Przykładowa konfiguracja planszy 5 x 4:

+--+--+--+--+--+
|PZ|PZ|PZ|PZ|PZ|	PC - parking gangstera czerwonego
+--+--+--+--+--+	PZ - parking gangstera zielonego
|  |  |  |XX|  |	XX - słup
+--+--+--+--+--+	(spacje) - asfalt
|XX|  |  |  |  |
+--+--+--+--+--+
|PC|PC|PC|PC|PC|
+--+--+--+--+--+

Każdy z gangsterów posiada n samochodów, które na początku gry znajdują się
na miejscach parkingowych. Ponadto na planszy na ustalonym polu,
które jest asfaltem, umieszczona jest kasetka z brylantami.
Przykładowa startowa konfiguracja na powyższej planszy:

+--+--+--+--+--+
|SZ|SZ|SZ|SZ|SZ|	SC - samochód gangstera czerwonego
+--+--+--+--+--+	SZ - samochód gangstera zielonego
|  |  |  |XX|  |	K - kasetka
+--+--+--+--+--+
|XX|  |K |  |  |
+--+--+--+--+--+
|SC|SC|SC|SC|SC|
+--+--+--+--+--+

Gangsterzy wykonują ruchy na przemian. Ruch gangstera składa się z dwóch
kroków. W pierwszym kroku przemieszczana jest kasetka, a w drugim jeden z
samochodów gangstera.  Przemieszczenie kasetki lub samochodu polega
na wybraniu jednego z ośmiu kierunków (wszystkie pionowe, poziome i
ukośne), a następnie przesuwaniu w tym kierunku danego przedmiotu
tak długo, aż napotka się inny przedmiot, słup lub koniec planszy.  W
przykładowej sytuacji kasetkę możemy przemieścić w obu poziomych
kierunkach - w lewo lub w prawo, w pionie - do góry oraz po skosie -
w lewo do góry.  Na przykład, po wykonaniu przez gangstera
czerwonego ruchu:  
[kasetka w lewo, środkowy czerwony samochód w prawo do góry], 
sytuacja będzie następująca:

+--+--+--+--+--+
|SZ|SZ|SZ|SZ|SZ|
+--+--+--+--+--+
|  |  |  |XX|SC|
+--+--+--+--+--+
|XX|K |  |  |  |
+--+--+--+--+--+
|SC|SC|  |SC|SC|
+--+--+--+--+--+

Pierwszy ruch wykonuje gangster czerwony.  Celem gry jest
umieszczenie kasetki na własnym miejscu parkingowym.  Jeśli w wyniku
przemieszczenia kasetki przez któregoś z gangsterów znajdzie się ona
na miejscu parkingowym, to zwycięzcą jest ten gangster, który jest
właścicielem tego miejsca parkingowego.  Ponadto gangster przegrywa,
jeśli właśnie powinien wykonać ruch, a nie może on przemieścić
kasetki lub po jej przemieszczeniu, które nie kończy gry (tzn. nie
na miejsce parkingowe) nie może przemieścić żadnego ze swoich
samochodów.