Habe es hinbekommen, falls es jemanden interessiert.
Code:
\documentclass{article}
\usepackage{tikz}
\edef\eins{test}%
\edef\zwei{test}%
\makeatletter
\def\prunelist#1{% Define prunelist command
\expandafter\edef\csname pgfmath@randomlist@#1\endcsname
{\the\numexpr\csname pgfmath@randomlist@#1\endcsname-1\relax}
\count@\pgfmath@randomtemp
\loop
\expandafter\let
\csname pgfmath@randomlist@#1@\the\count@\expandafter\endcsname
\csname pgfmath@randomlist@#1@\the\numexpr\count@+1\relax\endcsname
\ifnum\count@<\csname pgfmath@randomlist@#1\endcsname\relax
\advance\count@\@ne
\repeat
}
\makeatother
\newcommand\nextrnd[2]%//
{\pgfmathrandomitem{\tmp}{#2}% select random element
\edef#1{\tmp}% store random element in #1
\prunelist{#2}%prune list by selected item
}%\\
\newcommand\shufflelist{%//
\edef\lpeinso{18.5}%
\edef\lpzweio{16.5}%
\edef\lpdreio{14.5}%
\edef\lpviero{12.5}%
\edef\lpfuenfo{10.5}%
\edef\lpsechso{8.5}%
\edef\lpsiebeno{6.5}%
\edef\lpachto{4.5}%
\edef\lpneuno{2.5}%
\edef\lpzehno{0.5}%
\edef\npeinso{1}%
\edef\npzweio{2}%
\edef\npdreio{3}%
\edef\npviero{4}%
\edef\npfuenfo{5}%
\edef\npsechso{6}%
\edef\npsiebeno{7}%
\edef\npachto{8}%
\edef\npneuno{9}%
\edef\npzehno{10}%
\edef\nceinso{logicoblau}%
\edef\nczweio{logicoblauz}%
\edef\ncdreio{logicoorange}%
\edef\ncviero{logicoorangez}%
\edef\ncfuenfo{logicogruen}%
\edef\ncsechso{logicogruenz}%
\edef\ncsiebeno{logicorot}%
\edef\ncachto{logicorotz}%
\edef\ncneuno{logicogelb}%
\edef\nczehno{logicogelbz}%
\edef\ieinso{A}%
\edef\izweio{B}%
\edef\idreio{C}%
\edef\iviero{D}%
\edef\ifuenfo{E}%
\edef\isechso{F}%
\edef\isiebeno{G}%
\edef\iachto{H}%
\edef\ineuno{I}%
\edef\izehno{J}%
\pgfmathdeclarerandomlist{mynumpos}{%//
{{\lpeinso},{\npeinso},{\ieinso}}
{{\lpzweio},{\npzweio},{\izweio}}
{{\lpdreio},{\npdreio},{\idreio}}
{{\lpviero},{\npviero},{\iviero}}
{{\lpfuenfo},{\npfuenfo},{\ifuenfo}}
{{\lpsechso},{\npsechso},{\isechso}}
{{\lpsiebeno},{\npsiebeno},{\isiebeno}}
{{\lpachto},{\npachto},{\iachto}}
{{\lpneuno},{\npneuno},{\ineuno}}
{{\lpzehno},{\npzehno},{\izehno}}
}%\\
\nextrnd\leins{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \leins{%//
\ifnum \i = 1
\xdef\lpeins{\n}
\fi
\ifnum \i = 2
\xdef\npeins{\n}
\fi
\ifnum \i = 3
\xdef\ieins{\n}
\fi
}%\\
\nextrnd\lzwei{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lzwei{%//
\ifnum \i = 1
\xdef\lpzwei{\n}
\fi
\ifnum \i = 2
\xdef\npzwei{\n}
\fi
\ifnum \i = 3
\xdef\izwei{\n}
\fi
}%\\
\nextrnd\ldrei{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \ldrei{%//
\ifnum \i = 1
\xdef\lpdrei{\n}
\fi
\ifnum \i = 2
\xdef\npdrei{\n}
\fi
\ifnum \i = 3
\xdef\idrei{\n}
\fi
}%\\
\nextrnd\lvier{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lvier{%//
\ifnum \i = 1
\xdef\lpvier{\n}
\fi
\ifnum \i = 2
\xdef\npvier{\n}
\fi
\ifnum \i = 3
\xdef\ivier{\n}
\fi
}%\\
\nextrnd\lfuenf{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lfuenf{%//
\ifnum \i = 1
\xdef\lpfuenf{\n}
\fi
\ifnum \i = 2
\xdef\npfuenf{\n}
\fi
\ifnum \i = 3
\xdef\ifuenf{\n}
\fi
}%\\
\nextrnd\lsechs{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lsechs{%//
\ifnum \i = 1
\xdef\lpsechs{\n}
\fi
\ifnum \i = 2
\xdef\npsechs{\n}
\fi
\ifnum \i = 3
\xdef\isechs{\n}
\fi
}%\\
\nextrnd\lsieben{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lsieben{%//
\ifnum \i = 1
\xdef\lpsieben{\n}
\fi
\ifnum \i = 2
\xdef\npsieben{\n}
\fi
\ifnum \i = 3
\xdef\isieben{\n}
\fi
}%\\
\nextrnd\lacht{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lacht{%//
\ifnum \i = 1
\xdef\lpacht{\n}
\fi
\ifnum \i = 2
\xdef\npacht{\n}
\fi
\ifnum \i = 3
\xdef\iacht{\n}
\fi
}%\\
\nextrnd\lneun{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lneun{%//
\ifnum \i = 1
\xdef\lpneun{\n}
\fi
\ifnum \i = 2
\xdef\npneun{\n}
\fi
\ifnum \i = 3
\xdef\ineun{\n}
\fi
}%\\
\nextrnd\lzehn{mynumpos}% Store random element in \rnd and remove it from mynum
\foreach \n [count = \i]in \lzehn{%//
\ifnum \i = 1
\xdef\lpzehn{\n}
\fi
\ifnum \i = 2
\xdef\npzehn{\n}
\fi
\ifnum \i = 3
\xdef\izehn{\n}
\fi
}%\\
}%\\
\begin{document}
\shufflelist
\begin{tabular}{lll}
\lpeinso&\npeinso&\ieinso\\
\lpzweio&\npzweio&\izweio\\
\lpdreio&\npdreio&\idreio\\
\lpviero&\npviero&\iviero\\
\lpfuenfo&\npfuenfo&\ifuenfo\\
\lpsechso&\npsechso&\isechso\\
\lpsiebeno&\npsiebeno&\isiebeno\\
\lpachto&\npachto&\iachto\\
\lpneuno&\npneuno&\ineuno\\
\lpzehno&\npzehno&\izehno\\
\end{tabular}
\begin{tabular}{lll}
\lpeins&\npeins&\ieins\\
\lpzwei&\npzwei&\izwei\\
\lpdrei&\npdrei&\idrei\\
\lpvier&\npvier&\ivier\\
\lpfuenf&\npfuenf&\ifuenf\\
\lpsechs&\npsechs&\isechs\\
\lpsieben&\npsieben&\isieben\\
\lpacht&\npacht&\iacht\\
\lpneun&\npneun&\ineun\\
\lpzehn&\npzehn&\izehn\\
\end{tabular}
\end{document}
Lesezeichen