Ian Jauslin
summaryrefslogtreecommitdiff
blob: ee9a3439c5179ae6dea71acfdd0e24588d68fe3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
% square lattice (width #1, height #2, origin #3, spacing #4)
\def\grid#1#2#3{
  \foreach\i in {0,...,#2}{
    \draw#3++(0,\i)--++(#1,0);
  }
  \foreach\i in {0,...,#1}{
    \draw#3++(\i,0)--++(0,#2);
  }
}


% cross (color #1, position #2)
\def\cross#1#2{
  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
  \begin{scope}
    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
    \grid44{[color=white]#2++(-2,-2)}
  \end{scope}
  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
}

% V triomino (color #1, position #2)
\def\Vtriomino#1#2{
  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-2)--++(2,0)--++(0,1)--++(-1,0);
  \begin{scope}
    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-2)--++(2,0)--++(0,1)--++(-1,0);
    \grid33{[color=white]#2++(-1,-1)}
  \end{scope}
  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-2)--++(2,0)--++(0,1)--++(-1,0);
}

% T tetromino (color #1, position #2)
\def\Ttetromino#1#2{
  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
  \begin{scope}
    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
    \grid34{[color=white]#2++(-1,-2)}
  \end{scope}
  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
}

% L tetromino (color #1, position #2)
\def\Ltetromino#1#2{
  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(2,0)--++(0,1)--++(-1,0)--++(0,1);
  \begin{scope}
    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(2,0)--++(0,1)--++(-1,0)--++(0,1);
    \grid34{[color=white]#2++(-1,-2)}
  \end{scope}
  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(2,0)--++(0,1)--++(-1,0)--++(0,1);
}

% P pentomino (color #1, position #2)
\def\Ppentomino#1#2{
  \fill[color=#1]#2++(1.5,1.5)--++(-2,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,2);
  \begin{scope}
    \clip#2++(1.5,1.5)--++(-2,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,2);
    \grid34{[color=white]#2++(-1,-2)}
  \end{scope}
  \draw[color=black]#2++(1.5,1.5)--++(-2,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,2);
}

% 1x1 square (color #1, position #2)
\def\square#1#2{
  \fill[color=#1]#2++(-0.5,-0.5)--++(0,1)--++(1,0)--++(0,-1)--cycle;
  \draw[color=black]#2++(-0.5,-0.5)--++(0,1)--++(1,0)--++(0,-1)--cycle;
  \draw[color=white]#2++(-0.5,0)--++(1,0);
  \draw[color=white]#2++(0,-0.5)--++(0,1);
}

% 2x2 square (color #1, position #2)
\def\ttsquare#1#2{
  \fill[color=#1]#2++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
  \draw[color=black]#2++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
}
\def\ttsquareempty#1{
  \draw[color=black]#1++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
}

% diamond (color #1, position #2)
\def\diamond#1#2{
  \fill[color=#1]#2++(0,-1)--++(1,1)--++(-1,1)--++(-1,-1)--cycle;
  \begin{scope}
    \clip#2++(0,-1)--++(1,1)--++(-1,1)--++(-1,-1)--cycle;
    \grid22{[color=white]#2++(-1,-1)}
  \end{scope}
  \draw[color=black]#2++(0,-1)--++(1,1)--++(-1,1)--++(-1,-1)--cycle;
}