Osztott rendszerek beadandó feladat

Valósítsd meg az alábbi játékot, amelyben világutazókat ábrázolunk.

WorldMain

A játék fő osztálya a WorldMain, ez induláskor elindít egy szervert a 4321 porton. A szerver egyszerre több klienst is ki tud szolgálni. A szerverrel szövegesen lehet kommunikálni, és a következő utasításokat lehet kiadni egy-egy sorban:

Automatizált működés

Ha a WorldMain osztály kap egy parancssori paramétert is, akkor a fenti szerver elindítása mellett a következő tevékenységet is végzi.

City

A városok létrehoznak egy city-<városnév>-<port>.txt naplófájlt, pl. city-Budapest-35008.txt.

A városok szekvenciálisan fogadják a kliensek kapcsolódását a portjukon, és a következő utasításokat lehet kiadni a számukra egy-egy sorban:

A fentiekben az idő a város szálának elindulása óta eltelt idő ezredmásodpercben.

Person

Az utazó, amikor elindul, véletlenszerűen választ egy várost a lehetségesek közül, és belép oda (elküldi az arrive üzenetet).

Az utazók a következő üzeneteket fogadják, ezek a lehetséges akcióik.

Az utazók önállóan is cselekszenek: 2..5 másodperc elteltével megtesznek egy véletlenszerűen kiválasztott akciót (az exit kivételével). Amikor az exit üzenetet megkapják, még megtehetik az utolsó akciójukat, aztán kilépnek.