88 lines
3.2 KiB
Plaintext
88 lines
3.2 KiB
Plaintext
|
% 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;
|
||
|
}
|