An open API service indexing awesome lists of open source software.

https://github.com/thomasthaddeus/connect4

This repository contains the program for a python implementation of a connect 4 game
https://github.com/thomasthaddeus/connect4

gui pygame pyqt6 python3

Last synced: about 1 year ago
JSON representation

This repository contains the program for a python implementation of a connect 4 game

Awesome Lists containing this project

README

          

# Connect Four

This repository contains the program for a python implementation of a connect 4 game

## TODO

### 1. **Completed**

- GUI Layouts for:
- Main Menu
- Game Over Window
- Game Statistics Window
- Player Setup Window
- Game History Window
- Network Setup Window
- Game Window
- A Return to Main Menu Widget
- A basic outline of the network setup logic.
- A basic interaction between the front-end (GUI) and a hypothetical back-end game logic.

### 2. **Not Implemented / Needs Consideration**

- **Backend Game Logic**:
- Actual game rules for Connect 4 (winning conditions, draw conditions).
- Logic for AI player (e.g., the Minimax algorithm).
- Handling multiplayer games, especially over the network.
- Saving and loading game states.
- Tracking and updating game statistics and history.
- **Network Functionality**:
- Actual networking logic for hosting and joining games.
- Handling communication between two game instances over the network.
- **Database or Storage**:
- A system to store game history, player statistics, saved game states, etc.
- **Art and Graphics**:
- Visual assets for the game board, pieces, background, etc.
- Animations (like a piece falling) for improved user experience.
- **Sound Effects and Music**:
- Background music or sound effects for gameplay actions (like dropping a piece).
- **AI Player**:
- Developing and integrating an AI player. While we discussed the Minimax algorithm, the actual AI implementation and its integration with the game logic are still pending.
- **Error Handling and Robustness**:
- Ensuring that the game handles unexpected situations gracefully.
- Validations, especially in network settings (e.g., valid IP address, port number).
- **Testing**:
- Both unit tests (for individual components/functions) and integration tests (for the whole game) need to be considered.
- **Documentation**:
- Commenting the code, writing user manuals, or developer documentation if needed.