- Description
- Demo
- Prerequisites
- Python Environment Setup
- TicTacToe User Guide
- Connect4 User Guide
- To-Do
- Authors
- Acknowledgements
- License
🚧 This project is a work in progress. Some features may be incomplete, untested, or lacking full documentation. 🚧
This project was initially developed as an assignment for the TU Berlin Programming Project in Python [WiSe 2024/25]. In this project, Connect4 is implemented using fundamental concepts of "software carpentry", including:
- Use of a version control system, such as Git
- Test-driven development
- Documentation
- Debugging, profiling, and optimization
- (Optional) Issue tracking and milestones for project planning
- (Optional) Software design and associated artifacts, e.g., activity/class diagrams
- With a Virtual Environment (using a shell script):
$ . venv_setup.sh <arg1> <arg2>
<arg1>
: Suffix for naming the virtual environment (optioanla).<arg2>
: Set to "dev" to includerequirements_dev.txt
(optioanla)
Examples:
$ . venv_setup.sh # Creates .venv_connect4
$ . venv_setup.sh test # Creates .venv_connect4_test
$ . venv_setup.sh "" dev # Creates .venv_connect4_dev
$ . venv_setup.sh test dev # Creates .venv_connect4_test_dev
- Without a Virtual Environment:
$ python -m pip install --upgrade pip
$ pip install -r requirements.txt
$ pip install -r requirements_dev.txt
TikTacToe demonstrates the use of minimax in a simplified setting, offering a practical example of how the algorithm can be applied to solve game-based problems.
$ python -m src.ticktackoe
$ python -m src.connect4
$ pylint src/<name_of_file>
$ python -m tests.<name_of_test_file>
$ python -m unittest discover tests
$ coverage run -m unittest discover tests
$ coverage report
$ coverage html
View the HTML coverage report at: htmlcov/index.html
$ python -m src.ticktackoe
$ python -m src.connect4
- Task to do
- Task in progress
-
Task finished
- Using GitHub Issues insted of this To-Do list 😎
- Finish User Guide
- Make unit test for minimax.py
- MAke unit test for tictactoe.py
-
Add logging -
Add demo - Add version
- Add setup.py, .toml
-
Add badges (GitHub Actions CI) - Add badges (GitHub Actions Coverage)
- Add badges (Version)
- Add badges (...)
- Add demo, animation, or video
- Complete README.md
- Update CI.yml (deprecation of v3 of the artifact actions)
Attila Kékesi
Code released under the MIT License.