diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2026-01-07 15:29:16 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2026-01-07 15:29:16 +0100 |
| commit | 756fff4dd349e2ac31a2642c0060349299c7331d (patch) | |
| tree | c42402ac323b26cdd2ebf5c2183206c1856dd6ec /Info | |
| parent | ac8d7ce185838d38f2a6bffc6777de0e63cd5aa1 (diff) | |
| download | unterricht-756fff4dd349e2ac31a2642c0060349299c7331d.tar.gz unterricht-756fff4dd349e2ac31a2642c0060349299c7331d.zip | |
improve slot machine material
Diffstat (limited to 'Info')
| -rw-r--r-- | Info/10/2/Spielautomat/Referenzen/handout.tex | 7 | ||||
| -rw-r--r-- | Info/10/2/Spielautomat/Referenzen/slides.md | 87 |
2 files changed, 64 insertions, 30 deletions
diff --git a/Info/10/2/Spielautomat/Referenzen/handout.tex b/Info/10/2/Spielautomat/Referenzen/handout.tex index d43e1bb2..08a59a66 100644 --- a/Info/10/2/Spielautomat/Referenzen/handout.tex +++ b/Info/10/2/Spielautomat/Referenzen/handout.tex @@ -20,7 +20,7 @@ Datentypen, die aus mehreren Elementen zusammengesetzt sind, werden als \gap{\Hu So kann z.B. jede selbstdefinierte Klasse als Datentyp verwendet werden. \begin{center} - \textbf{Beispiel.:} Attribut vom Typ \texttt{Spielwalze} in der Klasse \texttt{Spielautomat} + \textbf{Beispiel:} Attribut \texttt{walze} vom Typ \texttt{Spielwalze} in der Klasse \texttt{Spielautomat} \end{center} \begin{merke} @@ -68,10 +68,11 @@ minimum width=7cm}] \subsection*{\faIcon{desktop} Arbeitsauftrag: Projekt Spielautomat} -\begin{itemize} +\begin{enumerate} +\setcounter{enumi}{1} \item Ergänze die fehlenden Referenzattribute in der Klasse \texttt{Spielautomat}. \item Initialisiere die fehlenden Referenzattribute im Konstruktor der Klasse \texttt{Spielautomat}. -\end{itemize} +\end{enumerate} \textit{Tipp: Achte immer auf eindeutige Attribut- bzw. Variablenbezeichner!} \end{document} diff --git a/Info/10/2/Spielautomat/Referenzen/slides.md b/Info/10/2/Spielautomat/Referenzen/slides.md index b51c4e5b..e8a03e2b 100644 --- a/Info/10/2/Spielautomat/Referenzen/slides.md +++ b/Info/10/2/Spielautomat/Referenzen/slides.md @@ -72,74 +72,107 @@ Der Spielautomat steuert die Bewegung der Walzen. ## \faIcon{pencil-alt} Arbeitsblatt: 1. Referenzattribute -Datentypen, die aus mehreren Elementen zusammengesetzt sind, werden als \boldred{„komplexe Datentypen“} bezeichnet. +Datentypen, die aus mehreren Elementen zusammengesetzt sind, werden als \beamerpgap{2}{\boldred{„komplexe Datentypen“}} bezeichnet. So kann z.B. jede selbstdefinierte Klasse als Datentyp verwendet werden. \vspace{0.3cm} -\pause +\pause\pause ### Besipiel: -Attribut vom Typ `Spielwalze` in der Klasse `Spielautomat` +Attribut `walze` vom Typ `Spielwalze` in der Klasse `Spielautomat`. ## \faIcon{pencil-alt} Arbeitsblatt: 1. Referenzattribute -Da der Wert eines solchen Attributs ein \boldred{Objekt} der zugewiesenen Klasse ist, muss zur Initialisierung der \beamerpsolution{3}{\boldred{Konstruktor}} dieser Klasse aufgerufen werden. +Da der Wert eines solchen Attributs ein \beamerpsolution{2}{\boldred{Objekt}} der zugewiesenen Klasse ist, muss zur Initialisierung der \beamerpsolution{3}{\boldred{Konstruktor}} dieser Klasse aufgerufen werden. Hierzu wird der Operator `new`{.java} verwendet. ### Beispiel: ```java -Spielwalze walze; // Deklaration von walze -walze = new Spielwalze(...); // Initialisierung von walze +Spielwalze walze; // ____________________________________ +walze = new Spielwalze(...); // _________________________ // Uebergabeparameter --^ ``` ## \faIcon{pencil-alt} Arbeitsblatt: 1. Referenzattribute -Indem in einer Klasse ein sogenanntes \boldred{Referenzattribut} vom Typ einer (anderen) Klasse angelegt wird, treten die beiden Objekte in Beziehung zueinander, hier: +Da der Wert eines solchen Attributs ein \boldred{Objekt} der zugewiesenen Klasse ist, muss zur Initialisierung der \boldred{Konstruktor} dieser Klasse aufgerufen werden. +Hierzu wird der Operator `new`{.java} verwendet. -\pause +### Beispiel: -\vspace{0.5cm} -\begin{center} -\begin{tikzpicture}[ -object/.style={ -draw, -rectangle, -rounded corners=3pt, -font=\small}] +```java +Spielwalze walze; // Deklaration von walze +walze = new Spielwalze(...); // Initialisierung von walze +// Uebergabeparameter --^ +``` -\node[object] (sa) at (0,0) {Spielautomat}; +## \faIcon{pencil-alt} Arbeitsblatt: 1. Referenzattribute -\node[object] (sw) at (0, -2) {Spielwalze}; +Indem in einer Klasse ein sogenanntes \beamerpgap{2}{\boldred{Referenzattribut}} vom Typ einer (anderen) Klasse angelegt wird, treten die beiden Objekte in Beziehung zueinander, hier: -\draw (sa.south) -- (sw.north); +\vspace{0.5cm} +\pause\pause + +::: {.columns} +:::: {.column width=50%} +\hspace{1cm} +\begin{tikzpicture} + \begin{class}[text width=4cm]{Spielautomat}{0,0} + \attribute{Spielwalze walze} + \attribute{...} + \operation{Spielautomat()} + \operation{...} + \end{class} \end{tikzpicture} -\end{center} +:::: -## Woraus besteht denn die Walze? +:::: {.column width=50%} +\hspace{1cm} +\begin{tikzpicture}[object/.style={draw, rectangle, rounded corners=3pt, font=\large}] + \node[object] (sa) at (0,0) {Spielautomat}; + \node[object] (sw) at (0, -2) {Spielwalze}; + \draw (sa.south) -- (sw.north); +\end{tikzpicture} +:::: +::: + +## Woraus besteht denn die Walze? {.t} \pause Aus einem farbigen Kreis und einem Hintergrund. -\vspace{0.5cm} -\pause +\vspace{1.5cm} + +::: {.columns} +:::: {.column width=50%} +\only<2->{ \begin{center} +\begin{tikzpicture} +\node[rectangle, fill=black, minimum size=1cm] (0,0) {}; +\node[circle, fill=green, minimum size=1cm] (0,0) {}; +\end{tikzpicture} +\end{center} +} +:::: + +:::: {.column width=50%} +\only<3->{ \begin{tikzpicture}[ object/.style={ draw, rectangle, rounded corners=3pt, font=\small}] - \node[object] (sw) at (0,0) {Spielwalze}; - \node[object] (h) at (-2, -2) {Hintegrund}; - \node[object] (fk) at (2, -2) {Farbkreis}; \draw (sw.south) -- (h.north); \draw (sw.south) -- (fk.north); \end{tikzpicture} -\end{center} +} +:::: +::: + ## \faIcon{desktop} Arbeitsauftrag: Referenzattribute \hfill 15 min |
