Speichern von Daten in einem zweidimensionalen Array

Speichern von Daten in einem zweidimensionalen Array

Ich versuche, Diagramme für das Brettspiel Go in TikZ zu zeichnen. Um die Brettpositionen in nachfolgenden Variationen wiederzuverwenden, brauche ich eine Möglichkeit, die aktuelle Brettposition zu speichern. Ich habe gelernt vondiese Fragedass zwei meiner Optionen die Verwendung von \csname... \endcsnameoder sind pgfkeys. Da ich pgfkeys sowieso für andere Dinge verwende, lautet meine Frage:

Wie würde man ein zweidimensionales Array mit pgfkeys implementieren?

Ich bin offen für Lösungen, die nicht verwenden pgfkeys, wenn Sie das für eine schlechte Idee halten. Ich würde es jedoch vorziehen, nicht zu verwenden expl3, da eines meiner Endziele die Kompatibilität mit Plain TeX, LaTeX und ConTeXt ist (genau wie TikZ).

Antwort1

Obwohl Sie pgfkeys bevorzugt haben, vermute ich, dass das hier übertrieben ist, selbst wenn Sie pgf aus anderen Gründen geladen haben.

Dadurch wird ein Protokoll von

A1 is black and B14 is white

vom einfachen Text

\def\setpos#1#2#3{\expandafter\def\csname GO-#1-#2-\endcsname{#3}}
\def\getpos#1#2{\csname GO-#1-#2-\endcsname}

\setpos{A}{1}{black}
\setpos{B}{14}{white}

\immediate\write20{A1 is \getpos{A}{1} and B14 is \getpos{B}{14}}

\bye

verwandte Informationen