Drac is a completely free, open-source, portable card game library
that uses SDL (Simple DirectMedia Layer).
It provides almost everything you need to create
your very own card games. Drac is a set of C++ classes
and functions that help simplify the development of
card games. Any simple game specially solitaire games
can be created using Drac with minimal effort. It can
also be extended to accommodate more elaborate games.
Card drag and drop support. Dragging cards around and
dropping them to other destinations is a standard feature in
most card games though this takes some effort to code, good thing
Drac handles this for you. Not only that, Drac supports four
types of dragging, you'll get to know them when you start
using Drac in your card game projects. Also, dropping cards is as
simple as setting flags that determine how a certain area accepts
cards that are being dropped on it.
Uses data structures to represent cards and card collections.
Cards, card stacks, and card regions, including the game itself, is
represented by a class. This greatly simplifies development since
you only need to define what regions your game will need, and control
those regions based on the rules of the game.
Includes useful functions such as getting card information like
card rank, suit, value, etc. Functions for overlapped cards and
determining what card to accept based on the amount of area that overlaps
are already built-in.
To show how simple it is to use Drac, a sample game, the famous Klondike
is included. The game was coded in just a few lines. A tutorial
explaining how Klondike was made can be found here.
Includes a simple animation that you can use whenever
a player wins a game. Remember the animation you see whenever you
win a solitaire game in windows, Drac also has one, and you can
make your own too with a bit of coding effort.
Portable or assumed to be at the moment since no actual
testing was done yet. Drac was developed in a win32 environment
using Dev-C++. No OS specific APIs were used. The only libraries
used were SDL and the STL included in Dev-C++. Linux users
and other SDL supported systems besides win32 may check it
out, if it works, contact me.
Bloodshed Software for Dev-C++, a great IDE. SDL, an excellent library for game development. James Brown for his help and for his great program CardLib which inspired this project. This site for the beautiful card sets used. Stephen Murphy's QCard32.dll for the card symbols used.