https://github.com/sam0jones0/oo-design
Casino games simulated using object orientated design best practices. Repository of code from study of "Building Skills in Object-Oriented Design" by S. Lott.
https://github.com/sam0jones0/oo-design
Last synced: about 2 months ago
JSON representation
Casino games simulated using object orientated design best practices. Repository of code from study of "Building Skills in Object-Oriented Design" by S. Lott.
- Host: GitHub
- URL: https://github.com/sam0jones0/oo-design
- Owner: sam0jones0
- License: mit
- Created: 2021-06-18T14:11:28.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-10-26T10:40:26.000Z (over 3 years ago)
- Last Synced: 2025-01-23T01:41:39.311Z (3 months ago)
- Language: Python
- Homepage:
- Size: 329 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# oo-design
Casino games (Roulette and Craps) simulated using object orientated design best practices, with general classes such as `Table`, `Bet` and `Outcome` being shared between games.
Several `Player` classes have been implemented to play with a variety of well-known betting strategies. Statistics are gathered over multiple runs of the simulation to compare the efficacy of these strategies (or which strategy loses the _least_ money).
Software quality:
- Complete with a full [pytest](https://docs.pytest.org/en/6.2.x/) test suite covering all code and functionality
- Typed, type checking with [mypy](https://github.com/python/mypy)
- Code formatting with [black](https://github.com/psf/black)Design patterns explored:
- State
- Builder
- Factory
- Strategy
- Lazy initialization
- Wrap / extendRepository of code from study of "Building Skills in Object-Oriented Design" by S. Lott.