A very simple card game
Project description
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 Austin
to play a game with these three players. The-d
speeds up gameplay by dealing all the cards at once.jjc-card-game --help
to 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jjc-card-game-0.0.3.tar.gz
.
File metadata
- Download URL: jjc-card-game-0.0.3.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 756abf8e265d8c1d9fe373f6ddb283150508939679be3b49433d8291a4a044c0 |
|
MD5 | e9511af7f7dbf22c115774a30afd5e98 |
|
BLAKE2b-256 | f9d6f20bf2c6b25d44515ed0d88242000063d8b445fd50c4f6f3e749d74b93d9 |
File details
Details for the file jjc_card_game-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: jjc_card_game-0.0.3-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dbfc7e664be365ac0e45964e5fc615d04c0cbf6bc98719aa34d25815dcb41e0 |
|
MD5 | 7e23b9ba4d697c6135e08449a0fdeb3c |
|
BLAKE2b-256 | 311cfce501ff3477fa4b03716a3b562e099e68c4d3d5a3772a26409e215ce86d |