A dominoes-based card game to teach concepts used in Object-Oriented Programming (OOP), as implemented by statically-typed languages like Java. Each card represents an object from a specific class, which can be associated to other objects through typed attributes. Concepts explored in the game include association, inheritance, interface implementation, and type compatibility.
The images used in the deck are located in deck/
for your convenience. Those interested in recreating the images or modifying the deck should read below.
The card deck is defined by the data in base-classes.csv
and base-objects.csv
, by the design in card.svg
, and by the icons contained in images.svg
. Run the following scripts (in this order) to build the deck:
render-images.py
: creates a PNG for each icon inimages.svg
render-cards.py
: creates a PNG for each card inbase-objects.csv
, using the layout fromcard.svg
build-deck.py
: combines the PNG files for all cards in a single PNG file; also creates the back of the cards and the arrow card. The files are create in thedeck/
folder.
- Open Tabletop Simulator
- Create a single player game
- Create a custom deck and import the images for the front
- URL for the front: https://rodrigorgs.github.io/dominoops/deck/deck.png
- Size: 10 x 7
- URL for the back: https://rodrigorgs.github.io/dominoops/deck/back.png
- Create a custom card and import the arrow card image
The rules are available at this draft specification (in Portuguese).