Here's some code to generate random horizontal and vertical domino tiles. I wish I were saavy enough to make this draw a whole domino game with the tiles, but I'm not that far ahead yet.
startshape DOMINOES
rule DOMINOES {
DOMINO{}
}
rule DOMINO{
HORIZONTAL{}
}
rule DOMINO{
VERTICAL{}
}
rule HORIZONTAL{
VERTICAL { rotate 90 }
}
rule VERTICAL{
V_OUTLINES{}
U_V_DOTS{}
L_V_DOTS{}
}
rule V_OUTLINES{
SQUARE { x 1 y 1 s 1 b 0 }
SQUARE { x 1 y 2 s 1 b 0 }
SQUARE { x 1 y 1 s .95 b 1 }
SQUARE { x 1 y 2 s .95 b 1 }
}
rule U_V_DOTS{
}
rule U_V_DOTS{
CIRCLE { x 1 y 2 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2 size .17 }
CIRCLE { x 1.2 y 2 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1 y 2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1.2 y 2.2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
CIRCLE { x .8 y 1.8 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1.2 y 2.2 size .17 }
CIRCLE { x 1 y 2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
CIRCLE { x .8 y 1.8 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1.2 y 2.2 size .17 }
CIRCLE { x .8 y 2 size .17 }
CIRCLE { x 1.2 y 2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
CIRCLE { x .8 y 1.8 size .17 }
}
rule L_V_DOTS{
}
rule L_V_DOTS{
CIRCLE { x 1 y 1 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1 size .17 }
CIRCLE { x 1.2 y 1 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1 y 1 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1.2 y 1.2 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
CIRCLE { x .8 y .8 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1.2 y 1.2 size .17 }
CIRCLE { x 1 y 1 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
CIRCLE { x .8 y .8 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1.2 y 1.2 size .17 }
CIRCLE { x .8 y 1 size .17 }
CIRCLE { x 1.2 y 1 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
CIRCLE { x .8 y .8 size .17 }
}
Here's code to "play" a domino game. Of course, I don't actually know how to play the real game of dominos, and I'm sure this is knowhere like a real game. A lot of times the game will either be way to big or way to small, so you'll have to render it several times to get a nice one. Try XVQ.
startshape DOMINOES
rule DOMINOES 1.75 {
DOMINO{}
}
rule DOMINOES 5 {
DOMINO{}
DOMINOES {y 2.05}
}
rule DOMINOES 4 {
DOMINO{ y -1 x -0.5 r 90}
DOMINO{ y 1.05}
DOMINOES {y 3.1}
MAYBEDOMINOES {r 90 x -2.6 y -1}
MAYBEDOMINOES {r -90 x 2.6 y -1}
}
rule MAYBEDOMINOES 3 { }
rule MAYBEDOMINOES { DOMINOES {} }
rule DOMINO{
VERTICAL{ x -1 y -2}
}
rule VERTICAL{
V_OUTLINES{}
U_V_DOTS{}
L_V_DOTS{}
}
rule V_OUTLINES{
SQUARE { x 1 y 1 s 1 b 0 }
SQUARE { x 1 y 2 s 1 b 0 }
SQUARE { x 1 y 1 s .95 b 1 }
SQUARE { x 1 y 2 s .95 b 1 }
}
rule U_V_DOTS{
}
rule U_V_DOTS{
CIRCLE { x 1 y 2 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2 size .17 }
CIRCLE { x 1.2 y 2 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1 y 2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1.2 y 2.2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
CIRCLE { x .8 y 1.8 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1.2 y 2.2 size .17 }
CIRCLE { x 1 y 2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
CIRCLE { x .8 y 1.8 size .17 }
}
rule U_V_DOTS{
CIRCLE { x .8 y 2.2 size .17 }
CIRCLE { x 1.2 y 2.2 size .17 }
CIRCLE { x .8 y 2 size .17 }
CIRCLE { x 1.2 y 2 size .17 }
CIRCLE { x 1.2 y 1.8 size .17 }
CIRCLE { x .8 y 1.8 size .17 }
}
rule L_V_DOTS{
}
rule L_V_DOTS{
CIRCLE { x 1 y 1 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1 size .17 }
CIRCLE { x 1.2 y 1 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1 y 1 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1.2 y 1.2 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
CIRCLE { x .8 y .8 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1.2 y 1.2 size .17 }
CIRCLE { x 1 y 1 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
CIRCLE { x .8 y .8 size .17 }
}
rule L_V_DOTS{
CIRCLE { x .8 y 1.2 size .17 }
CIRCLE { x 1.2 y 1.2 size .17 }
CIRCLE { x .8 y 1 size .17 }
CIRCLE { x 1.2 y 1 size .17 }
CIRCLE { x 1.2 y .8 size .17 }
CIRCLE { x .8 y .8 size .17 }
}