deckr
Overview
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.
Setup
Prerequisites
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)
Installation
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 testsmake 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
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!
What is Implemented
Check out What is Implemented to see a summary of what we implemented during the first and second iterations.
FAQ
Check out the FAQ to get answers to frequently asked questions, and to see a list of known issues.

Log in or sign up for Devpost to join the conversation.