Zadanie 2 (termin oddania: 24 listopada 2005, godz. 23:59)

  Napisz program umożliwiający przeprowadzenie partii gry Tron.
  W grze bierze udział dwóch zawodników, którzy sterują postaciami
  znajdującymi się na prostokątnej planszy. Każdy gracz ma do
  dyspozycji jedną postać. W każdym kolejnym etapie gry obaj gracze
  wydają po jednym poleceniu sterowanej przez siebie postaci. 
  Postaci rozumieją polecenia:

  * przesunięcia się o jeden krok do przodu w kierunku, w którym
    postać dotąd się poruszała,
  * obrócenia się o 90 stopni w lewo i przesunięcia się o jeden krok
    do przodu,
  * obrócenia się o 90 stopni w prawo i przesunięcia się o jeden krok 
    do przodu.

  Postaci przesuwając się pozostawiają za sobą ślad. Zawodnik kończy
  grę, gdy wyda polecenie, które wprowadziłoby jego postać na ślad
  pozostawiony przez niego lub przez przeciwnika, na postać przeciwnika,
  lub wyprowadziłoby postać zawodnika poza planszę. Jeśli gracze zakończą
  grę równocześnie, jest remis, wpp. gracz, który zakończył grę przegrywa.

  Gra toczy się na planszy o rozmiarze 14x7 (7 wierszy, 14 kolumn).
  W chwili rozpoczęcia gry postać zawodnika pierwszego znajduje się
  na polu o współrzędnych <4,4> (4 wiersz, 4 kolumna) a postać
  zawodnika drugiego na polu <11,4> (4 wiersz, 11 kolumna). Każda
  z postaci jest w tym momencie zwrócona w kierunku postaci przeciwnika.

  Wejście:
  Program otrzymuje na wejściu, w kolejnych wierszach, pary znaków
  reprezentujących polecenia wydane przez każdego z graczy. Spacja
  (' ') oznacza polecenie przesunięcia się do przodu, litera l ('l')
  oznacza polecenie wykonania obrotu w lewo i przesunięcia się, a p
  ('p') to polecenie obrotu w prawo i przesunięcia się. Dodatkowo,
  zamiast pary znaków w kolejnym wierszu może się znajdować pojedyncza
  kropka ('.') oznaczająca, że gracze proszą o zakończenie gry i
  ogłoszenie remisu.

  Wyjście:
  Program wypisuje na wyjście stan planszy w chwili rozpoczęcia
  gry oraz po wykonaniu po jednym ruchu przez każdego z graczy.
  Stanu planszy nie wypisuje, jeśli polecenia pobrane od graczy
  spowodowały zakończenie rozgrywki.
  Na zakończenie program wypisuje w oddzielnym wierszu napis: "Remis"
  (bez cudzysłowów), jeśli gra zakończyła się remisem, "Wygral pierwszy",
  jeśli rozgrywkę wygrał pierwszy zawodnik "Wygral drugi", jeśli
  rozgrywkę wygrał drugi. 
  Stan planszy program wypisuje w kolejnych wierszach (każdy wiersz
  planszy w oddzielnym wierszu na wyjściu). Dla każdego pola znajdującego
  się w danym wierszu program wypisuje jeden znak. '1', gdy na tym polu
  znajduje się gracz pierwszy, oraz wtedy, gdy jest tam ślad pozostawiony
  przez tego gracza (czyli '1' oznacza, że gracz na danym polu jest
  aktualnie lub był w przeszłości). Znak '2' ma takie samo znaczenie,
  ale dotyczy gracza drugiego. Dla pozostałych pól program ma wypisywać
  spacje. Dodatkowo, opis stanu planszy powinien być na wyjściu otoczony
  dookola znakami '#'. Uwzględniając rozmiar plaszy (14x7) oznacza to,
  że zapis stanu planszy zajmie na wyjściu 9 wierszy po 16 znaków w każdym.

  Wskazówki:
  Stan planszy można przechowywać w dwuwymiarowej tablicy.
  Kierunek postaci wygodnie będzie reprezentować przy pomocy
  wektora: <0,1>  (postać jest skierowana "na południe"), <0,-1>
  (postać jest skierowana "na północ"), <1,0> (postać jest skierowana
  "na wschód"), <-1,0> (postać jest skierowana "na zachód").