% !TeX program = lualatex
% robotkarol — Beispieldokument
\documentclass[11pt]{article}
\usepackage[margin=2.2cm]{geometry}
\usepackage{fontspec}
% Die Schriften sind nur Geschmack — fehlen sie, bleibt es bei den
% Vorgabeschriften, damit das Beispiel überall übersetzt.
\IfFontExistsTF{Lato}{\setmainfont{Lato}\setsansfont{Lato}}{}
\IfFontExistsTF{DejaVu Sans Mono}
	{\setmonofont{DejaVu Sans Mono}[Scale=MatchLowercase]}{}
\usepackage{robotkarol}
\usepackage{parskip}
\pagestyle{empty}

\begin{document}

\begin{center}
	{\LARGE\bfseries \textsf{robotkarol} — Beispieldokument}
\end{center}

\medskip
\begin{center}
	\karollegende
\end{center}

\noindent
Zum Ausprobieren: \karolonline{2t7t} und \karolonline{9fq2}.

\subsection*{B1 — Bis zum Regal}
\karolpaar[skalierung=0.95][titel={\textbf{Soll}}]{>....Q}{....>Q}

\subsection*{B2 — Fünf Rückgabe-Marken \normalfont(Karol sichtbar auf der Marke)}
\karolpaar[skalierung=0.95][titel={\textbf{Soll}}]{>......}{.MMMM{M>}.}

\subsection*{S2 — Umtausch-Regal \normalfont(mit Hervorhebung der Ziegel-Felder)}
\karolpaar[skalierung=0.95][titel={\textbf{Soll}}, hervorheben={2,4}]{>Z.Z.Z}{..Z.Z>}

\subsection*{G2 — Bis zur Lese-Ecke}
\karolpaar[skalierung=0.95][titel={\textbf{Soll}}]{>Z..Z.M.}{......{M>}.}

\subsection*{Vorhersage-Aufgabe: leeres Gitter zum Eintragen}
\begin{center}
	\karolgitter{8}
\end{center}

\subsection*{Stapel, Klettern, Kombinationen}
\begin{center}
	\karolzeile{> Z 2 {2M} {3>} M Q}
\end{center}

\subsection*{A1 — Auftrag in einem Bild \normalfont(Start- und Zielzustand)}
\begin{center}
	\begin{karolwelt}[breite=5, laenge=3, skalierung=0.9]
		\karol[x=1, y=3, richtung=osten]
		\ziegel[x=2, y=3]
		\ziegel[x=3, y=2, anzahl=2, aufheben]
		\ziegel[x=5, y=2, anzahl=3, hinlegen]
		\marke[x=4, y=1, setzen]
		\marke[x=2, y=1, loeschen]
	\end{karolwelt}
\end{center}
\begin{center}
	\karolzustandslegende
\end{center}

\subsection*{A2 — Derselbe Auftrag als Vorher-nachher-Paar}
\begin{karolweltpaar}[breite=5, laenge=3, skalierung=0.72]
	\karol[x=1, y=3, richtung=osten]
	\ziegel[x=2, y=3]
	\ziegel[x=3, y=2, anzahl=2, aufheben]
	\ziegel[x=5, y=2, anzahl=3, hinlegen]
	\marke[x=4, y=1, setzen]
	\marke[x=2, y=1, loeschen]
\end{karolweltpaar}

\subsection*{A3 — Aufräumauftrag in der Draufsicht \normalfont(mit Hervorhebung)}
\begin{center}
	\begin{karolwelt}[breite=6, laenge=3, ansicht=2d, aufraeumen,
			hervorheben={3/2, 5/3}, skalierung=0.9,
			hinweis={Räume alles weg. Die Marke in Feld 3/2 bleibt liegen.}]
		\karol[x=1, y=3, richtung=osten]
		\ziegel[x=2, y=1, bisx=5, anzahl=2]
		\marke[x=3, y=2, start, ziel]
		\marke[x=5, y=3]
	\end{karolwelt}
\end{center}

\clearpage
\subsection*{Musterlösung G1 als Blockprogramm}
\begin{center}
\begin{karolbloecke}
	\bwiederholesolange{NichtIstWand}{%
		\bwenndann{IstZiegel}{%
			\bbefehl[1]{Aufheben}}
		\bbefehl[1]{Schritt}}
\end{karolbloecke}
\end{center}

\subsection*{Musterlösung S2 als Blockprogramm}
\begin{center}
\begin{karolbloecke}
	\bwiederholemal{5}{%
		\bwenndannsonst{IstZiegel}{%
			\bbefehl[1]{Aufheben}}{%
			\bbefehl[1]{Hinlegen}}
		\bbefehl[1]{Schritt}}
\end{karolbloecke}
\end{center}

\subsection*{Lückenaufgaben für ein Arbeitsblatt}
Mit Platzhalterkommentar (wie in Karol Online) oder Geisterblock,
dazu ein leerer Bedingungs-Sockel:
\begin{center}
\begin{karolbloecke}
	\bwiederholesolange{NichtIstMarke}{%
		\bwenndann{IstZiegel}{%
			\bkommentar{Platzhalterkommentar}}
		\bbefehl[1]{Schritt}}
\end{karolbloecke}
\qquad
\begin{karolbloecke}
	\bwiederholesolange{}{%
		\bluecke
		\bbefehl[1]{Schritt}}
\end{karolbloecke}
\end{center}

\subsection*{Vollständiges Programm mit Hut und eigener Anweisung}
\begin{center}
\begin{karolbloecke}
	\bhauptprogramm
	\bwiederholemal{3}{%
		\baufruf{TueEtwas}}
	\bbefehl{Beenden}
\end{karolbloecke}
\qquad
\begin{karolbloecke}
	\banweisung{TueEtwas}{%
		\bbefehl[1]{Hinlegen}
		\bbefehl[1]{Schritt}}
\end{karolbloecke}
\end{center}

Im Fließtext: Die Bedingung \bbedingung{IstZiegel} prüft das Feld
\emph{vor} Karol, der Block \bbefehl{MarkeSetzen} wirkt \emph{unter} Karol.

\clearpage
\subsection*{Dasselbe im Druckmodus}
Für Kopien: \verb|\usepackage[druck]{robotkarol}| stellt das ganze
Dokument auf Graustufen um. Hier ist der Modus nur für diese Seite
eingeschaltet --- mit \verb|\karolsetup{druck=true}| in einer Gruppe.

\begingroup
\karolsetup{druck=true}

\karolpaar[skalierung=0.95][titel={\textbf{Soll}}, hervorheben={2,4}]{>Z.Z.Z}{..Z.Z>}

\begin{center}
	\karolzeile{> Z 2 {2M} {3>} M Q}
\end{center}

\begin{center}
\begin{karolbloecke}
	\bhauptprogramm
	\bwiederholemal{5}{%
		\bwenndannsonst{IstZiegel}{%
			\bbefehl[1]{Aufheben}}{%
			\bbefehl[1]{Hinlegen}}
		\baufruf{TueEtwas}}
	\bbefehl{Beenden}
\end{karolbloecke}
\qquad
\begin{karolbloecke}
	\banweisung{TueEtwas}{%
		\bkommentar{Platzhalterkommentar}
		\bluecke}
	\bwiederholesolange{\bnichtist{Norden}}{%
		\bbefehl[1]{Schritt}}
\end{karolbloecke}
\end{center}

\begin{center}
	\karollegende
\end{center}
\endgroup

\end{document}
