Here I save the unit match as \match and then use various stacking commands from stackengine and/or tabstackengine packages. It can be customized for horizontal and vertical stacking gaps.
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{tikz,tabstackengine}
\savestack\match{\begin{tikzpicture}\fill [yellow] (0,0) rectangle (4,0.2);
\fill [yellow!60!black] (0,0) -- ++(4,0)-- ++(0.1,-0.05) -- ++(-4,0) -- ++(-0.1,0.05);
\draw (0,0) -- ++(0,0.2) -- ++(4,0) -- ++(0,-0.2) -- ++(0.1,-0.05) -- ++(-4,0) -- ++(-0.1,0.05);
\shade[ball color=red] (4,0.1) ellipse (0.25cm and 0.22cm);
\draw (4,0.1) ellipse (0.25cm and 0.22cm);\end{tikzpicture}}
\begin{document}
\setstacktabbedgap{2pt}
\setstackgap{S}{0pt}
\tabbedShortstack{%
\match&&\\
\match&&\match\\
\match&\match&\match\\
\match&\match&\match
}
\bigskip
\setstackgap{S}{-1pt}
\Shortstack{\match\\\match\match\\\match\match\match}
\bigskip
\Shortstack[r]{\match\\\match\match\\\match\match\match}
\end{document}

For fun, here is the [coffee] bean version
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{tikz,tabstackengine}
\savestack\bean{%
\stackinset{c}{}{c}{}{\color{white}\rotatebox[origin=center]{45}{%
\sffamily\scalebox{.4}[1.2]{S}}}{%
\color{brown!70!black}\scalebox{2}[1.5]{$\bullet$}}}\begin{document}
\setstacktabbedgap{-2pt}
\setstackgap{S}{-2pt}
\tabbedShortstack{%
\bean&&\\
\bean&&\bean\\
\bean&\bean&\bean\\
\bean&\bean&\bean
}
\bigskip
\setstackgap{S}{-3.5pt}
\Shortstack{\bean\\\bean\bean\\\bean\bean\bean}
\bigskip
\setstackgap{S}{-1pt}
\Shortstack[r]{\bean\\\bean\bean\\\bean\bean\bean}
\end{document}

here? Code should be attributed and should include a link to the original. – cfr Dec 27 '16 at 14:12