aboutsummaryrefslogtreecommitdiff
path: root/Info/9/3/Aufgaben/ritter_jnr.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Info/9/3/Aufgaben/ritter_jnr.tex')
-rw-r--r--Info/9/3/Aufgaben/ritter_jnr.tex75
1 files changed, 42 insertions, 33 deletions
diff --git a/Info/9/3/Aufgaben/ritter_jnr.tex b/Info/9/3/Aufgaben/ritter_jnr.tex
index 684d4158..343ca620 100644
--- a/Info/9/3/Aufgaben/ritter_jnr.tex
+++ b/Info/9/3/Aufgaben/ritter_jnr.tex
@@ -1,10 +1,10 @@
-% \Verteilung{4 + 4 + 7}
+\renewcommand{\Verteilung}{4 + 4 + 7}
\begin{Aufg}[Ritter Jump n' Run]
-\iflehrer{}{\vspace{-0.5cm}}
+\ifschueler{\vspace{-0.5cm}}
\begin{center}
\includegraphics[keepaspectratio, width=0.8\textwidth]{Aufgaben/ritter_jnr.png}
\end{center}
-\iflehrer{}{\vspace{-0.5cm}}
+\ifschueler{}{\vspace{-0.5cm}}
Das oben gezeigte Jump n' Run Spiel soll programmiert werden.
Ziel ist es, einen Ritter, der stetig nach rechts läuft, bis ins Ziel zu steuern.
Unterwegs sollen so viele Münzen wie möglich gesammelt werden.
@@ -22,48 +22,57 @@ Die Klasse \mintinline{java}{Ritter} hat folgende Methoden:
\end{itemize}
}
\begin{enumerate}[a),itemsep=0pt]
-\item Zeichne die Klassenkarte zu der Klasse \mintinline{java}{Ritter}.
-Markiere und benenne, was jeweils in den einzelnen Bereichen der Klassenkarte steht.
-\iflehrer{}{\\[0.2cm] \kariert{20}}
-\item Erkläre unter Verwendung von Fachbegriffen, welche Schritte nötig sind, um die Anzahl der gesammelten Münzen in der Variable \mintinline{java}{punkte} zu speichern.
-Gib den dazu benötigten Code an.
-\item Schreibe die Methode \mintinline{java}{spielen()} der Klasse \mintinline{java}{Ritter}.
-In dieser soll der Ritter bis zum Ziel laufen.
-Unterwegs soll er immer dann springen, wenn die Leertaste gedrückt wird.
-Falls er eine Münze berührt, soll zudem der Punktestand um 1 erhöht werden.
-Du kannst annehmen, dass die Variable \mintinline{java}{punkte} existiert und verwendbar ist.
+\ifnumequal{\theAufgVersion}{1}{
+ \item Zeichne die Klassenkarte zu der Klasse \mintinline{java}{Ritter}.
+ Markiere und benenne, was jeweils in den einzelnen Bereichen der Klassenkarte steht.
+ \ifschueler{\\[0.2cm] \kariert{20}}
+}{
+ \item Gib zwei Attribute der Klasse Ritter mit unterschiedlichen Datentypen an.
+ Nenne den jeweiligen Datentyp und beschreibe knapp welche Aufgabe das Attribut hat.
+}
+ \item Erkläre unter Verwendung von Fachbegriffen, welche Schritte nötig sind, um die Anzahl der gesammelten Münzen in der Variable \mintinline{java}{punkte} zu speichern.
+ Gib den dazu benötigten Code an.
+ \item Implementiere die Methode \mintinline{java}{spielen()} der Klasse \mintinline{java}{Ritter}.
+ In dieser soll der Ritter bis zum Ziel laufen.
+ Unterwegs soll er immer dann springen, wenn die Leertaste gedrückt wird.
+ Falls er eine Münze berührt, soll zudem der Punktestand um 1 erhöht werden.
+ Du kannst annehmen, dass die Variable \mintinline{java}{punkte} existiert und verwendbar ist.
\end{enumerate}
\end{Aufg}
\begin{Lsg}
\begin{enumerate}[a)]
-\item
- \begin{tikzpicture}
- \begin{class}[text width=5cm]{Ritter}{0,0}
- \operation{laufe()}
- \operation{springe()}
- \operation{zielVorhanden()}
- \operation{münzeVorhanden()}
- \operation{mauerVorhanden()}
- \operation{zielVorhanden()}
- \end{class}
- \node[right=0cm of Ritter, yshift=3cm] {UML \Point}; % UML
- \node[right=of Ritter.center] {\Halfpoint}; % Methoden
- \node[right=of Ritter.center, yshift=2cm, xshift=0.25cm] {\Halfpoint}; % Klassenname
- \node[right=of Ritter.center, yshift=1.6cm] {\Halfpoint}; % Attribute
- \draw[Triangle-] ($(Ritter.east) + (0, 2.5)$) -- ($(Ritter.east) + (2, 2.5)$) node[right] {Klassenname \Halfpoint};
- \draw[Triangle-] ($(Ritter.east) + (0, 2)$) -- ($(Ritter.east) + (2, 2)$) node[right] {Attribute \Halfpoint};
- \draw[Triangle-] (Ritter) -- ($(Ritter.east) + (2, 0)$) node[right] {Methoden \Halfpoint};
- \end{tikzpicture}
+\ifnumequal{\theAufgVersion}{1}{
+ \item
+ \begin{tikzpicture}
+ \begin{class}[text width=5cm]{Ritter}{0,0}
+ \operation{laufe()}
+ \operation{springe()}
+ \operation{zielVorhanden()}
+ \operation{münzeVorhanden()}
+ \operation{mauerVorhanden()}
+ \operation{zielVorhanden()}
+ \end{class}
+ \node[right=0cm of Ritter, yshift=3cm] {UML \Point}; % UML
+ \node[right=of Ritter.center] {\Halfpoint}; % Methoden
+ \node[right=of Ritter.center, yshift=2cm, xshift=0.25cm] {\Halfpoint}; % Klassenname
+ \node[right=of Ritter.center, yshift=1.6cm] {\Halfpoint}; % Attribute
+ \draw[Triangle-] ($(Ritter.east) + (0, 2.5)$) -- ($(Ritter.east) + (2, 2.5)$) node[right] {Klassenname \Halfpoint};
+ \draw[Triangle-] ($(Ritter.east) + (0, 2)$) -- ($(Ritter.east) + (2, 2)$) node[right] {Attribute \Halfpoint};
+ \draw[Triangle-] (Ritter) -- ($(Ritter.east) + (2, 0)$) node[right] {Methoden \Halfpoint};
+ \end{tikzpicture}
+}{
+ \item \BE{2} auf die Datentypen. \BE{2} Auf die Beschreibungen der Attribute.
+}
\item Eine Variable muss deklariert\Halfpoint werden, wobei ihr Name\Halfpoint und ihr Datentyp\Halfpoint festgelegt wird.
Anschließend muss die Variable noch initialisiert\Halfpoint werden, in dem ihr ein Anfangswert\Halfpoint zugewiesen wird. \\
\mintinline{java}{int punkte;} \Point \\
\mintinline{java}{punkte = 0;} \Halfpoint \\
\item
\begin{minted}[escapeinside=$$]{java}
-public$\Halfpoint$ void$\Halfpoint$ spielen$\Halfpoint$()$\Halfpoint$
+void$\Halfpoint$ spielen$\Halfpoint$()$\Halfpoint$
{
- while$\Halfpoint$(!zielVorhanden()$\Halfpoint$)
+ while$\Halfpoint$(!$\Halfpoint$zielVorhanden()$\Halfpoint$)
{
if$\Halfpoint$(münzeVorhanden()$\Halfpoint$)
{