\usepackage{pifont}
\usepackage{soul}
\usepackage[table]{xcolor}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{array}
\usepackage{xstring}
\usepackage{hyperref}
\usepackage{rotating}
\usepackage{pdflscape}
\usepackage{tipa}

\newcolumntype{R}{>{\raggedleft\arraybackslash}X}  % right multiline alignment

% Makes it so that you don't have to put \\ \hline at the end of each line, just \nl
\def\nl{\\\hline}

% Dings are here: https://en.wikibooks.org/wiki/LaTeX/Special_Characters#/media/File:LaTeX-dingbats.png
\newcommand{\nchecked}{\ding{111}}
\newcommand{\ychecked}{\ding{110}}

% Usage: \wodots{amount marked (0-no more than total)}{total (0-10)}
\newcommand{\wodots}[2]{%
    \IfEqCase{#2}{%
        {0}{% \points but the numbers are ascending. you could do \wodots{0}{number}, but this is so that it works the other way around too
            \IfEqCase{#1}{%
                {1}{\ding{192}}%
                {2}{\ding{192}\ding{193}}%
                {3}{\ding{192}\ding{193}\ding{194}}%
                {4}{\ding{192}\ding{193}\ding{194}\ding{195}}%
                {5}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}}%
                {6}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}}%
                {7}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {8}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}}%
                {9}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}}%
                {10}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {d}{% same as 0, but with dark dots instead
            \IfEqCase{#1}{%
                {1}{\ding{202}}%
                {2}{\ding{202}\ding{203}}%
                {3}{\ding{202}\ding{203}\ding{204}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}}%
                {6}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}}%
                {7}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}}%
                {8}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}}%
                {9}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{210}}%
                {10}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{210}\ding{211}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {1}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}}%
                {1}{\ding{202}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {2}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}}%
                {1}{\ding{202}\ding{193}}%
                {2}{\ding{202}\ding{203}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {3}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}}%
                {1}{\ding{202}\ding{193}\ding{194}}%
                {2}{\ding{202}\ding{203}\ding{194}}%
                {3}{\ding{202}\ding{203}\ding{204}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {4}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {5}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}\ding{196}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}\ding{196}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}\ding{196}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{196}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {6}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}\ding{196}\ding{197}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}\ding{196}\ding{197}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{196}\ding{197}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{197}}%
                {6}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {7}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{196}\ding{197}\ding{198}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{197}\ding{198}}%
                {6}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{198}}%
                {7}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {7}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}\ding{196}\ding{197}\ding{198}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{196}\ding{197}\ding{198}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{197}\ding{198}}%
                {6}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{198}}%
                {7}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {8}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{196}\ding{197}\ding{198}\ding{199}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{197}\ding{198}\ding{199}}%
                {6}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{198}\ding{199}}%
                {7}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{199}}%
                {8}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {9}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{197}\ding{198}\ding{199}\ding{200}}%
                {6}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{198}\ding{199}\ding{200}}%
                {7}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{199}\ding{200}}%
                {8}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{200}}%
                {9}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{210}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
        {10}{%
            \IfEqCase{#1}{%
                {0}{\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}}%
                {1}{\ding{202}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}}%
                {2}{\ding{202}\ding{203}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}}%
                {3}{\ding{202}\ding{203}\ding{204}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}}%
                {4}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}}%
                {5}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}}%
                {6}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{198}\ding{199}\ding{200}\ding{201}}%
                {7}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{199}\ding{200}\ding{201}}%
                {8}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{200}\ding{201}}%
                {9}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{210}\ding{201}}%
                {10}{\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{210}\ding{211}}%
            }[\PackageError{World of Dots}{Undefined 'amount used' option: #1}{}]%
        }%
    }[\PackageError{World of Dots}{Undefined 'total' option: #2}{}]%
}

% Points counting down
\newcommand{\points}[1]{%
    \IfEqCase{#1}{%
        {1}{\ding{192}}%
        {2}{\ding{193}\ding{192}}%
        {3}{\ding{194}\ding{193}\ding{192}}%
        {4}{\ding{195}\ding{194}\ding{193}\ding{192}}%
        {5}{\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {6}{\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {7}{\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {8}{\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {9}{\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {10}{\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {11}{\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {12}{\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {13}{\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {14}{\ding{195}\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {15}{\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {16}{\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {17}{\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {18}{\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {19}{\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
        {20}{\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}\ding{201}\ding{200}\ding{199}\ding{198}\ding{197}\ding{196}\ding{195}\ding{194}\ding{193}\ding{192}}%
    }[\PackageError{Counting Down}{Ya fucked up, undefined option: #1}{}]%
}