JJC's Card Game
This is a simple card played over a series of round. Each round, players draw one card. The player with the highest card received 2 points. Players with penalty cards lose a point. First player to 21 points wins.
Installation
Make sure you have python 3.6 or higher installed, then:
pip install jjc-card-game
Play
jjc-card-game
Then follow the on-screen rules and instructions.
Or try these more advanced options:
jjc-card-game -d Jonathan Nicholas Austinto play a game with these three players. The-dspeeds up gameplay by dealing all the cards at once.jjc-card-game --helpto see even more options
Development
Development tools: Windows 10, PowerShell, and PyCharm.
git clone https://github.com/jonathanchukinas/card_game.git
cd card_game
pip install flit # for build, packaging
python -m venv .venv # create virtual environment
.venv\scripts\activate # activate virtual environment
flit install --pth-file # set up editable install
# modify source code
jjc-card-game # run modified app
# repeat
deactivate # exit virtual environment
Running the tests
Test are written for pytest and automated by tox.
Game logic has 95% test coverage, while
the command-line interface / ouput has less than 50%.
To run all the tests:
pip install tox, pytest
cd path\to\project\directory
tox
Tests will be run against all these python versions, if you have them:
- v3.6
- v3.7
- v3.8
For a faster way to run tests:
pytest
Built With
python and python packages:
Authors
- Jonathan Chukinas - initial release
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgements
- Brian Okken for his Test & Code podcast and Python Testing with pytest book, which jump-started my testing knowledge early in 2019 and recently helped me integrate pytest, flit, and tox together.
- Luciano Ramalho for his outstanding Fluent Python, which taught me much of what I know about python under the hood, dunder methods, lru cache, and so much more.
Metadata
Release files for jjc-card-game 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jjc-card-game-0.0.2.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jjc_card_game-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.3 kB
Release files / jjc-card-game-0.0.2.tar.gz
| Download URL | jjc-card-game-0.0.2.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5236dd0143a6e84497e0f429f96dbb9047b179b8c952fab0366d342e08bf8cc5
|
|
BLAKE2b-256 checksum How to use checksums |
69cc6d59c8832f46910406e607f1aa3ed2446e31fadb6216884acf5a260486f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.22.0
|
Release files / jjc_card_game-0.0.2-py3-none-any.whl
| Download URL | jjc_card_game-0.0.2-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f0005a47fdef315b5c8df840ccab457f1d5dff58272fdf47788ff6ceff7a4d71
|
|
BLAKE2b-256 checksum How to use checksums |
9d7d480b5734fc02a4a6b3671a794ab33b2d6debffe1047ce054ea118c45c2ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.22.0
|