started chapter project

This commit is contained in:
2022-04-23 18:41:29 +02:00
parent 4041ea6f38
commit b591e8c164
10 changed files with 53 additions and 30 deletions

Binary file not shown.

View File

@@ -3,7 +3,7 @@
%Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. %Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.
\usepackage[ngerman]{babel} \usepackage[ngerman]{babel}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage[ \usepackage[
type={CC}, type={CC},
modifier={by-sa}, modifier={by-sa},
@@ -18,15 +18,20 @@ version={4.0},
\usepackage{amsthm} \usepackage{amsthm}
\usepackage{enumitem} \usepackage{enumitem}
\usepackage{array} \usepackage{array}
\usepackage{multicol}
\usepackage{subfigure} \usepackage{subfigure}
\usepackage{tikz} \usepackage{tikz}
\usepackage{pgffor, ifthen} \usepackage{pgffor, ifthen}
%Für mehrspaltige linksgebundene Texte
\usepackage{multicol}
\usepackage{ragged2e}
\AtBeginEnvironment{multicols}{\RaggedRight}
%Abstände nach den Subsubsections %Abstände nach den Subsubsections
\RedeclareSectionCommand[ %\RedeclareSectionCommand[
beforeskip=-.5\baselineskip, %sebeforeskip=-.5\baselineskip,
afterskip=.25\baselineskip]{subsubsection} %afterskip=.25\baselineskip]{subsubsection}
\setlength{\parindent}{0pt}
%Sorgt dafür, dass Bilder in Tabellen nicht die horizontalen Linien überlagern. %Sorgt dafür, dass Bilder in Tabellen nicht die horizontalen Linien überlagern.
\newcommand\tabbild[2][]{% \newcommand\tabbild[2][]{%

View File

@@ -143,10 +143,11 @@ Die Figur kann in verschiedenen Farben und Strichstärken zeichnen. Hier eine kl
\end{figure} \end{figure}
\begin{center} \begin{center}
\begin{multicols}{2} \begin{multicols}{2}{
Vor der Programmierung des Skripts müssen wir festlegen, an welcher Stelle unsere Figur mit dem Zeichnen beginnt. In Abb.\ref{fig:6eck} sitzt die Katze bereits an entsprechender Stelle.\\ Vor der Programmierung des Skripts müssen wir festlegen, an welcher Stelle unsere Figur mit dem Zeichnen beginnt. In Abb.\ref{fig:6eck} sitzt die Katze bereits an entsprechender Stelle.\\
Als nächstes überlegen wir, um wie viel Grad sich die Katze nach dem Zeichnen einer jeden Seite drehen muss (siehe Abb. \ref{fig:6eck2}).Damit zum Schluss ein regelmäßiges Sechseck entsteht müssen alle sechs Winkel gleich groß sein. Die Katze startet mit Blickrichtung nach oben (In Scratch: Richtung $0^\circ$) und befindet sich am Schluss ihrer Bewegung wieder an ihrer Startposition. Sie hat nach dem 6-maligen eine vollständige Drehung von $360^\circ$ ausgeführt. Der Drehwinkel an jeder Ecke ist somit $\frac{360^\circ}{6}=60^\circ$. Die ist exakt der Nebenwinkel zum Innenwinkel des regelmäßigen Sechsecks.\\ Als nächstes überlegen wir, um wie viel Grad sich die Katze nach dem Zeichnen einer jeden Seite drehen muss (siehe Abb. \ref{fig:6eck2}).Damit zum Schluss ein regelmäßiges Sechseck entsteht müssen alle sechs Winkel gleich groß sein. Die Katze startet mit Blickrichtung nach oben (In Scratch: Richtung $0^\circ$) und befindet sich am Schluss ihrer Bewegung wieder an ihrer Startposition. Sie hat nach dem 6-maligen eine vollständige Drehung von $360^\circ$ ausgeführt. Der Drehwinkel an jeder Ecke ist somit $\frac{360^\circ}{6}=60^\circ$. Die ist exakt der Nebenwinkel zum Innenwinkel des regelmäßigen Sechsecks.\\
Nachdem wir jetzt den Ablauf des Programms kennen, können wir es in Scratch programmieren. Schreibe das Programm ab und führe es aus. Nachdem wir jetzt den Ablauf des Programms kennen, können wir es in Scratch programmieren. Schreibe das Programm ab und führe es aus.
\vfill\columnbreak
\begin{center} \begin{center}
\begin{scratch} \begin{scratch}
\setxy{-50}{-50} \setxy{-50}{-50}
@@ -165,7 +166,7 @@ Die Figur kann in verschiedenen Farben und Strichstärken zeichnen. Hier eine kl
\turnr{60} \turnr{60}
\move{100} \move{100}
\end{scratch} \end{scratch}
\end{center} \end{center}}
\end{multicols} \end{multicols}
\end{center} \end{center}
@@ -218,7 +219,7 @@ Damit lässt sich Scratch nicht nur als (umständlicher) Taschenrechner nutzen,
\caption{Rechtwinkliges Dreieck} \caption{Rechtwinkliges Dreieck}
\label{fig:dreieck} \label{fig:dreieck}
\end{figure} \end{figure}
Anstatt die Länge umständlich vorher zu Berechnen, übernimmt dies jetzt unser Programm. Achte darauf, statt eines Dezimalkommas einen Dezimalpunkt zu verwenden. \noindent Anstatt die Länge umständlich vorher zu Berechnen, übernimmt dies jetzt unser Programm. Achte darauf, statt eines Dezimalkommas einen Dezimalpunkt zu verwenden.
\begin{center} \begin{center}
\begin{scratch} \begin{scratch}
\setxy{-50}{-50} \setxy{-50}{-50}

View File

@@ -44,7 +44,7 @@ Bei einer \textit{if-else}-Anweisung wählt der Computer eine von zwei Alternati
\subsection{Logische Operatoren} \subsection{EXKURS: Logische Operatoren}
Mir der if-Anweisung (\begin{scratch}\ifopempty{~}{~}\end{scratch}) prüfst du, ob eine Bedingung erfüllt ist. Wenn sie erfüllt ist, führt der Computer die Anweisungen im Körper der if-Anweisung aus. In manchen Fällen, soll etwas ausgeführt werden, wenn die Bedingung nicht erfüllt ist. Oder der Computer soll die Anweisung nur ausführen, wenn zwei Bedingungen gleichzeitig erfüllt sind. Dies geschieht in einer Programmiersprache mit logischen Operatoren, die du in diesem Kapitel kennen lernst.\\ Mir der if-Anweisung (\begin{scratch}\ifopempty{~}{~}\end{scratch}) prüfst du, ob eine Bedingung erfüllt ist. Wenn sie erfüllt ist, führt der Computer die Anweisungen im Körper der if-Anweisung aus. In manchen Fällen, soll etwas ausgeführt werden, wenn die Bedingung nicht erfüllt ist. Oder der Computer soll die Anweisung nur ausführen, wenn zwei Bedingungen gleichzeitig erfüllt sind. Dies geschieht in einer Programmiersprache mit logischen Operatoren, die du in diesem Kapitel kennen lernst.\\
\subsubsection*{Negation} \subsubsection*{Negation}
@@ -112,7 +112,7 @@ Mit if-Schleifen lässt man den Computer nur Tätigkeiten ausführen, wenn eine
Die \textit{while}-Schleife wiederholt eine Tätigkeit, solange die Bedingung erfüllt ist. \textbf{Vorsicht:} Wenn die Bedingung immer gilt, läuft die Schleife einfach ewig weiter.\\ Die \textit{while}-Schleife wiederholt eine Tätigkeit, solange die Bedingung erfüllt ist. \textbf{Vorsicht:} Wenn die Bedingung immer gilt, läuft die Schleife einfach ewig weiter.\\
\textit{While}-Schleifen eignen sich besonders dann, wenn man vorher nicht weis, wie oft eine Schleife durchlaufen werden soll. \textit{While}-Schleifen eignen sich besonders dann, wenn man vorher nicht weis, wie oft eine Schleife durchlaufen werden soll.
\begin{bsp} \begin{bsp}
Mit der \textit{while}-Schleife hier, lassen wir die Figur solange nach rechts laufen, bis die Grenze für die X-Koordinate erreicht ist. Mit dieser \textit{while}-Schleife lassen wir die Figur solange nach rechts laufen, bis die Grenze für die X-Koordinate(Das Ende der Bühne) erreicht ist .
\begin{center} \begin{center}
\begin{scratch} \begin{scratch}
\start \start

View File

@@ -1,44 +1,61 @@
\section{Projekt} \section{Projekt}
In diesem Kapitel sollen die Grundlagen für dein eigenes Scratch-Spiel erklärt werden und Inspirationen für eigene Ideen gegeben werden. Begonnen wird mit der grundlegenden Steuerung einer Figur mittels den Pfeiltasten. Im Anschluss wird die Arbeit mit Kostümen und Bühnenbildern erläutert.
\subsection{Steuerung der Spielfigur} \subsection{Steuerung der Spielfigur}
Unser Ziel ist es jetzt, die Katze mit den Pfeiltasten der Tastatur steuern zu können. Dazu benötigt man die if-Anweisungen aus dem vorherigen Kapitel.\\ Unser Ziel ist es jetzt, die Katze mit den Pfeiltasten der Tastatur steuern zu können. Dazu benötigt man die if-Anweisungen aus dem vorherigen Kapitel.\\
Wiederholung: Mit der if-Anweisung ( \begin{scratch}\ifopempty{~}{~}\end{scratch} ) wird überprüft, ob eine Bedingung erfüllt ist und falls ja werden die Befehle innerhalb der Anweisung ausgeführt. Wiederholung: Mit der if-Anweisung ( \begin{scratch}\ifopempty{~}{~}\end{scratch} ) wird überprüft, ob eine Bedingung erfüllt ist und falls ja werden die Befehle innerhalb der Anweisung ausgeführt.
\subsubsection*{Katze bewegt sich nach rechts} Wir beginnen mit der Bewegung nach rechts. Wenn die "`rechte Pfeiltaste"' gedrückt wird, soll sich die Katze nach ein kleines Stück nach rechts bewegen.
Wenn die "`rechte Pfeiltaste"' gedrückt wird soll sich die Katze nach rechts bewegen. Um zu überprüfen ob die "`rechte Pfeiltaste"' gedrückt wurde, benötigen wir Sensor diesen finden wir bei den Befehlen unter "`fühlen"'. Wir wählen dort " Taste (Leertaste) gedrückt?" aus. Die Tasten lassen sich durch klicken auf das kleine weise Dreieck auswählen.\\
Um zu überprüfen, ob die "`rechte Pfeiltaste"' gedrückt wurde, benötigen wir einen entsprechenden Sensorblock. diesen finden wir bei den Befehlen in der Kategorie \textcolor{ProcessBlue}{"`Fühlen"'} (hellblau). Wir wählen dort \includegraphics[height=14pt]{images/space_pressed} aus. Die Tasten lassen sich im Dop-Down-Menü beliebig auswählen.\\
Ist die Taste gedrückt, soll sich die Katze nach rechts bewegen. Ist die Taste gedrückt, soll sich die Katze nach rechts bewegen.
Unsere if-Anweisung sieht nun so aus.\\ Die entsprechende if-Anweisung sieht so aus:\\
\begin{center}
\begin{scratch} \begin{figure}[H]
\ifop{\boolsensing{Taste Pfeil nach rechts gedrückt? } }{\movex{10}} \centering
\end{scratch} \includegraphics[width=0.5\linewidth]{"images/if anweisung1"}
\end{center} \caption{Einfache if-Schleife, ob die Pfeiltaste nach rechts gedrückt ist.}
Wenn du diese Anweisung in Scratch ausprobierst, stellst du fest das sich die Katze nur kurz bewegt, obwohl die Pfeiltaste dauerhaft gedrückt ist. Das liegt daran, dass Scratch nur eine Mal überprüft, ob die Pfeiltaste gedrückt ist oder nicht. Damit Scratch immer schaut ob die Pfeiltaste gedrückt ist, muss die if-Anweisung von einer Schleife ("`wiederhole fortlaufend"') umgeben werden. Damit das Programm startet, wenn das Fahnen-Symbol geklickt ist benötigen wir noch die Anweisung "Wenn Fahne angeklickt". Unser fertiges Programm sieht dann folgendermaßen aus: \label{fig:if-anweisung1}
\end{figure}
Führst du diese Anweisung aus, stellst du fest, dass die Figur sich nicht bewegt bzw. nur ein kleines Stück und du für jede Bewegung auf die Anweisung Doppelklicken musst.
Das liegt daran, dass Scratch nur ein einziges Mal überprüft, ob die Pfeiltaste gedrückt ist oder nicht und beendet danach das Programm.
Damit Scratch ab dem Programmstart dauerhaft prüft, ob die Pfeiltaste gedrückt ist, muss die \textit{if}-Anweisung von einer Schleife ("`wiederhole fortlaufend"') umgeben werden und am Anfang des Blocks ein \begin{scratch}
\start
\end{scratch} Stehen. Unser fertiges Programm sieht dann folgendermaßen aus:
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=0.5\linewidth]{images/if anweisung2} \includegraphics[width=0.5\linewidth]{images/if anweisung2}
\caption{Bewegungen der Katze mit Pfeiltaste.} \caption{Bewegungen der Katze nach rechts mit der Pfeiltaste.}
\label{fig:Bewegungen der Katze mit Pfeiltaste} \label{fig:Bewegungen der Katze mit Pfeiltaste}
\end{figure} \end{figure}
Der Block \includegraphics[height=14pt]{images/show} stellt sicher, dass die Figur nach dem Start auch sichtbar ist.
\begin{aufgabe} \begin{aufgabe}
Ergänze das Programm (siehe Abbildung \ref{fig:Bewegungen der Katze mit Pfeiltaste}) so, dass die Katze sich mit den Pfeiltasten über den Bildschirm in jede Richtung steuern lässt. Ergänze das Programm aus Abbildung \ref{fig:Bewegungen der Katze mit Pfeiltaste} so, dass die Katze sich mit den Pfeiltasten über den Bildschirm in jede Richtung steuern lässt.\\
\textbf{Tipp:} Dupliziere die \textit{if}-Anweisung innerhalb der Dauerschleife und passe die Tasten und Richtungen an.
Teste, ob deine Katze in die jeweils richtige Richtung sich bewegt und was passiert, wenn zwei Pfeiltasten gleichzeitig gedrückt werden (Dann sollte sie schräg laufen).
\end{aufgabe} \end{aufgabe}
Die Katze läuft jetzt zwar fröhlich über die Bühne, schaut aber immer nach rechts, selbst wenn sie nach links läuft. Um das zu ändern, nutzen wir für unsere Katze ein neues Bild, auf dem sie nach links schaut. Dafür bekommt die Katze ein neues Kostüm.
\subsection{Kostüme}
Die Katze läuft jetzt zwar fröhlich über die Bühne, schaut aber immer nach rechts, selbst wenn sie nach links läuft. Um das zu ändern, nutzen wir für unsere Katze ein neues Bild/Kostüm, auf dem sie nach links blickt.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=1\linewidth]{images/Kostüm bearbeiten 1} \includegraphics[width=1\linewidth]{images/Kostüm bearbeiten 1}
\caption{Kostum bearbeiten a.} \caption{Kostümeditoransicht.}
\label{fig:Kostum bearbeiten a} \label{fig:kostüm bearbeiten}
\end{figure} \end{figure}
Öffne das Kostümfenster. Du siehst dort, dass die Katze schon zwei Kostüme hat. Vielleicht brauchen wir das zweite noch irgendwann, wir lassen es also einfach da.\\ Im Reiter "'Kostüme'" (siehe Abb. \ref{fig:kostüm bearbeiten}) siehst du alle Kostüme einer Figur und kannst ihr neue anlegen. Die Katze besitzt bereits zwei Kostüme. Das aktuell zum Bearbeiten ausgewählte Kostüm ist immer blau umrandet. Das zweite Kostüm benötigen wir nicht, daher wählen wir es aus und löschen es mit einem Klick auf dem Mülleimer.\\
Um ein weiteres Kostüm zu erstellen, haben wir mehrere Möglichkeiten. Im Moment möchten wir aber unsere Katze nur duplizieren und dann spiegeln. Klicke mit der rechten Maustaste auf Kostüm 1 und wähle „Duplizieren“ aus. Klicke auf den Icon für "`Links und Rechts vertauschen"' und gib dann dem Kostüm einen sinnvollen Namen.\\ Um ein weiteres Kostüm zu erstellen, gibt es mehrere Möglichkeiten. Man kann über das Menü unten links Kostüme hochladen, selber malen oder aus bestehenden eines Auswählen.\\
Zu Anfang nutzen wir das bereits bestehende Kostüm indem wir es duplizieren und dann verändern. Klicke mit der rechten Maustaste auf "'Kostüm 1'" und wähle "'Duplizieren '" aus. Klicke auf den Icon für "`Links und Rechts vertauschen"' und gib dann dem Kostüm einen sinnvollen Namen.\\
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=1\linewidth]{images/Kostüm bearbeiten 2} \includegraphics[width=1\linewidth]{images/Kostüm bearbeiten 2}
\caption{Kostüm bearbeiten b.} \caption{Kostüm bearbeiten b.}
\label{fig:Kostum bearbeiten b} \label{fig:kostüm bearbeiten b}
\end{figure} \end{figure}
Verändere auch den Namen für das normale Kostüm in Katze rechts.\\ Verändere auch den Namen für das normale Kostüm in Katze rechts.\\

View File

@@ -33,8 +33,8 @@ Variablen werden in Scratch über den Button "`neue Variable"' angelegt.
Zu Beginn wird der Startwert der Variable "`länge"' auf $10$ festgelegt und die Figur auf eine Startposition bewegt.\\ Zu Beginn wird der Startwert der Variable "`länge"' auf $10$ festgelegt und die Figur auf eine Startposition bewegt.\\
Anschließend wird die Schleife 50-mal durchlaufen.\\ Anschließend wird die Schleife 50-mal durchlaufen.\\
Der Befehl am Ende der Schleife erhöht bei jeder Wiederholung den Wert der Variable "`länge"' um 5. Der Befehl am Ende der Schleife erhöht bei jeder Wiederholung den Wert der Variable "`länge"' um 5.
\\ \newline
\\ \vspace{1cm}
\textbf{Lege die Variable "`länge"' an und zeichne die Spirale.} \textbf{Lege die Variable "`länge"' an und zeichne die Spirale.}
\end{multicols} \end{multicols}
\label{bsp:spirale} \label{bsp:spirale}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
images/show.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/space_pressed.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB