#deckr
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 test
will run the unit testsmake verify
will run unit tests, integration tests, and compile coverage information (all data will be written into a reports directory)make lint
will run pylint on the code base and generate a report.make autolint
will run autopep8 on the deckr code base to reduce pep8 violations.
Check out Writing a Game Guide for an intro to creating a game definition that can be uploaded to Deckr.
Check out Playing a Game for instructions and other information on how to play a game. Also feel free to check out our Acceptance Tests if you're interested in doing some testing!
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.