PyConnect-4 is, as the name suggests, a Python implementation of the classic Connect-4 game.
It comes with two game modes:
- CLI: Play directly in the terminal.
- GUI: Play using a PyGame graphical interface.
After cloning / downloading the source, simply navigate to either the cli or gui folder, then simply run python cli_game.py or python gui_game.py.
Please note that to run the gui version, you must first install pygame, using pip install pygame.
Both game modes include:
- Player vs Player (on the same device)
Player vs Player (LAN)(currently under maintenance)- Player vs CPU (uses a strong minimax algorithm)
- Settings system (adjust display mode and CPU strength)
- Take it out of maintenance.
- Remember the last IP you played against:
- Optionally store IP by hostname.
- Keep a file with all previously played hostname–IP pairs to allow connecting using the computers hostname like
t495instead of192.168.1.xxx.
- Prevent more than 2 people from joining a single game (or consider adding a spectator mode).
- Make sure the game ends properly when players leave, instead of freezing or crashing.
- cache / transposition table (avoid rechecking already evaled positions)
- if a move results in a win, immediately return without recursion
- MAYBE refactor to a bitboard approach (MUCH MUCH faster cuz bitwise operations)
- animations
- move the cursor to the top cuz it makes more sense, make it point down.
(Cement-4, PyConnect-4 + Dementris where you forget the tiles lmao)