Deckr is a card game engine for CMSC 22001: Software Construction. The goal of this project is to create a reusable and extendable system for playing card games. Our system allows a user to define a card game using a combination of simple scripting and card definitions. Ideally our system will support many different types of card games from simple playing card games (Go Fish, War, Hearts) to complex trading card games (Magic: The Gathering, Pokemon, Yu-Gi-Oh!)
This application currently offers 3 games: Solitaire, Hearts, and Dominion.
To set up deckr you must have python 2.7, virtualenv, pip, and libevent. All of these can be installed using your favorite package manager. If you are running Mac OSX and do not have Xcode installed, you will need to install it. (DISCLAIMER: These have been tested on Ubuntu 14.10; your mileage may vary)
First clone the repository:
git clone https://github.com/courageousillumination/deckr.git
After cloning the repository run the following commands:
cd deckr virtualenv venv source venv/bin/activate pip install -r requirements.txt cd webapp make setup make run
At this point the server should be up and running at localhost:8000.
The webapp also includes a Makefile that makes some general tasks easier.
make testwill run the unit tests
make verifywill run unit tests, integration tests, and compile coverage information (all data will be written into a reports directory)
make lintwill run pylint on the code base and generate a report.
make autolintwill run autopep8 on the deckr code base to reduce pep8 violations.
Writing a Game
Check out Writing a Game Guide for an intro to creating a game definition that can be uploaded to Deckr.
Playing a Game
What is Implemented
Check out What is Implemented to see a summary of what we implemented during the first and second iterations.
Check out the FAQ to get answers to frequently asked questions, and to see a list of known issues.