Nalezy napisac program grajacy w okrety na planszy 8x8
(oznaczenia kolumn a..h, wierszy 1..8, czyli nazwy pol:
a1,a2,...a8,b1,... ,h7,h8

z okretami:
1 czteromasztowiec, 2 trojmasztowce, 3 dwumasztowce, 4 jednomasztowce.
Program na poczatku powinien ustalic pozycje swoich okretow.
Statki nie moga sie stykac ani bokami, ani rogami. Kazdy okret
musi lezec na jednej linii (nie moze byc zygzakiem.)
Jedna rozgrywka bedzie polegala na wykonaniu 100 tur pomiedzy dwoma
zawodnikami. W kolejnych turach program moze wyciagac wnioski
ze sposobu gry (zarowno ze sposobu ustawiania - na koniec kazdej
tury gracze otrzymaja bowiem pozycje poczatkowe przeciwnika, jak
i sposobu strzelania) i w kolejnych turach odpowiednio modyfikowac
swoj sposob gry.

Komunikacja:
Poprzez standardowe wejscie, wyjscie. kazdy komunikat w oddzielnej linii.

Na poczatku tury gracz otrzymuje od serwera numer tury, lub zamiast
tego komende koniec (z jakiegos powodu), lub na koniec rozgrywki wynik:

(l,k) | (K) | (W,m,p)

gdzie k,l,m,p sa liczbami calkowitymi, m oznacza liczbe punktow gracza,
do ktorego jest wysylany komunikat, a p - liczbe punktow przeciwnika.
k - oznacza, czy gracz zaczynac bedzie strzelanie (gdy 1) czy nie (2)

Nastepnie gracz wysyla do serwera pozycje swoich okretow (najpierw 4 pola
swojego czteromasztowca, pozniej 3 pola pierwszego trojmasztowca, 3 pola
drugiego trojmasztowca, potem dwumasztowce i na koniec jednomasztowce)
to jest 20 pol oddzielonych przecinkami, np:
(a1,a2,a3,a4,a6,a7,a8,c1,c2,c3,e7,e8,c7,c8,e1,e2,e5,h1,h3,h5)

gdy jest to gracz pierwszy, wtedy wysyla kolejny komunikat, ktorym jest
pierwszy strzal:

(a1)

gdzie a1 - przykladowa nazwa pola

od nadzorcy otrzymuje, tak jak po kazdym ruchu, odpowiedz:

(T) | (Z) | (N) | (W)

T - trafiony
Z - trafiony i zatopiony
N - nietrafiony
W - trafiony, zatopiony i koniec tury - wygrana

gdy gracz trafi (lub trafi i zatopi) to wykonuje kolejny ruch.
Gdy nie trafi - ruch kolejny otrzyma przeciwnik, a gdy jest koniec tury-
czeka na komunikat rozpoczecia tury (lub na informacje na zakonczenie
rozgrywki)

jesli nie trafi, wtedy kolejny ruch wykona przeciwnik. Gracz czeka na
komentarz nadzorcy:

gracz, ktory aktualnie nie ma ruchu oczekuje na komunikat od nadzorcy,
ktorym jest:

(T,a1) | (Z,a1) | (N,a1) | (W,a1)

gdzie a1 jest przykladowym numerem pola w ktore uderzyl przeciwnik,
a pozostale litery znacza tyle co wczesniej
(z tym ze W oznacza oczywiscie przegrana)

Analogicznie - jesli przeciwnik trafil to strzela dalej (lub koniec
rozgrywki) a gdy nie trafil, to gracz wykonuje ruch itd.

Po komunikacie (W) lub (W,a1) nadzorca wysyla drugi komunikat - 
pozycje okretow przeciwnika. (format tak jak wczesniej)

Po tym komunikacie nadzorca wysyla juz do obydwu graczy wczesniej opisany
komunikat rozpoczecia tury.