aboutsummaryrefslogtreecommitdiff
path: root/Info
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-01-07 15:29:16 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2026-01-07 15:29:16 +0100
commit756fff4dd349e2ac31a2642c0060349299c7331d (patch)
treec42402ac323b26cdd2ebf5c2183206c1856dd6ec /Info
parentac8d7ce185838d38f2a6bffc6777de0e63cd5aa1 (diff)
downloadunterricht-756fff4dd349e2ac31a2642c0060349299c7331d.tar.gz
unterricht-756fff4dd349e2ac31a2642c0060349299c7331d.zip
improve slot machine material
Diffstat (limited to 'Info')
-rw-r--r--Info/10/2/Spielautomat/Referenzen/handout.tex7
-rw-r--r--Info/10/2/Spielautomat/Referenzen/slides.md87
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