How njabulorivaldo/tic-tac-toe-oxo-game works
This is a localhost, two-player networked tic-tac-toe game with both PyQt and terminal clients. Players connect to a server, exchange moves and replay choices, and receive game results. The OXO server owns turn-taking and game rules, using the shared server layer for socket communication; clients use the shared client layer. The README documents localhost play, while the sampled source establishes the protocol and client variants. The GUI excerpt is partial, so uncertain details of its board-update wiring are omitted.
Main entry points: GameClient.py Client transport · GameServer.py Server transport · OXOGuiClient.py GUI client · OXOTextClient.py Text client
Components 8
Player clients
- GUI client
GUI_Files/OXOGuiClient.py - Text client
GUI_Files/OXOTextClient.py
Socket communication
- Client transport
GUI_Files/GameClient.py - Game settings
GUI_Files/GameIni.py
Game server
- OXO game loop
GUI_Files/OXOGameServer.py - Server transport
GUI_Files/GameServer.py
Other components
- Players
- TCP sockets
Connections 10
- Players → GUI client: play via
- Players → Text client: play via
- GUI client → Client transport: connects and exchanges
- Text client → Client transport: connects and exchanges
- Client transport → TCP sockets: opens socket
- Server transport → TCP sockets: binds and listens
- OXO game loop → Server transport: accepts, sends, receives
- Client transport → Game settings: reads constants
- Server transport → Game settings: reads constants
- TCP sockets → OXO game loop: delivers client messages