close() is a function
dobre praktyki - a) definiuemy main() przekazujac do niej argumenty wiersza polecen, b) sprawdzamy czy modul jest importowany czy wykonywany bezposrednio c) gwarantowanie zamykamy socket nawet jezeli wystapi jakis wyjatek
a) sformatowalem plik zgodnie z PEP8 (tutaj to jest wazne), b) na potrzeby tej gry wystarczy 2 statyczne pola bez enum-a (there should one obvious way to do each thing)
nazwalem stala zgodnie z PEP8
Zewnetrzny API uzywa 1-wymiarowego indeksu, dostosowalem do tego wewnetrzna reprezentacje. Uprosci to logike
uproscilem metode display(). btw, a) z None lepiej porownywac za pomoca "is" - jest szybciej b) testowanie czy elementu nie ma w kolekcji - "ELEM not in SEQ"
Zeby wszedzie takie same nazewnictwo
game - 1) przenioslem kod wyswietlajacy wynik gry 2) metoda move() wczytuje wartosci z konsoli dopoki nie zostanie zrobiony dozwolony ruch 3) set rzuca wyjatek jezeli pos ma niedozwolona wartosc -  bledy altwiej obslugiwac za pomoca wyjatkow

client, server - obsluguja parametry wiersza polecen, Ctrl+C oraz jako-taka obsluge wyjatkow
Merge pull request #1 from mykulyak/master

Vielen Dank!