====== Das Auto ändert die Geschwindigkeit ======
Öffne die Datei ''04katze'' und speichere sie unter ''06katze''.
Im Moment bewegt sich das Auto bei jedem Schleifendurchlauf um dieselbe Schrittweite vorwärts. Wir werden unser Programm jetzt so abändern, dass wir mit zwei weiteren Tasten das Auto schneller bzw. langsamer machen können.
Dazu geben wir der Schrittweite einen Namen. Da es sich in gewissem Sinne um die Geschwindigkeit des Autos handelt und diese in der Physik die Abkürzung v erhält, nutzen wir hier ''v1'' für die „Geschwindigkeit“ von ''Auto1''. Du könntest auch einen längeren Namen vergeben, z.B. ''geschwindigkeit_auto1''.
{{ .:var1.jpg |}}
\\
**Variablen**
\\
In der Informatik bezeichnet Wertespeicher als **Variable**. Man benutzt sie, um sich etwas zu merken.
Legt man eine neue Variable an, nennt man das **Deklarieren** der Variable.
Eine Variable kann einen Wert zugewiesen bekommen. Diesen Wert kann man jederzeit verändern. Bekommt eine Variable das erste Mal einen Wert zugewiesen, nennt man das **Initialisierung** der Variable.
Wähle in der Blockpalette „Variablen“ und lege eine neue Variable v1 an.
Es werden neue Blöcke erscheinen, die du vermutlich sofort erklären kannst.
Der Wert der Variable wird im linken oberen Eck angezeigt. Im Moment ist das ganz gut, da wir verfolgen können, ob alles so funktioniert, wie wir uns das vorstellen.
Später beim Spiel können wir „verstecke Variable v1“ nutzen.
===== Arbeitsaufträge =====
* Initialisiere die Variable v1 beim Start des Programms mit dem bisherigen Wert 10. Überlege dir noch einmal kurz, was die 10 aussagt.
* Wähle dann zwei neue Tastaturereignisse. Die Tasten kannst du selbst wählen, wie du es geschickt findest. Bei der einen Taste erhöhst du den Wert von v1 um einen gewissen Wert, bei der anderen soll etwas subtrahiert werden. (Bei negativer Änderung gibst du der Zahl ein negatives Vorzeichen.)
* Ersetze jetzt an der Stelle, an der x bisher um 10 geändert wurde, die Zahl durch das Symbol der Variable v1.
* Teste dein Programm und speichere es ab.
Das Auto fährt im Moment noch irgendwann rückwärts oder wird viel zu schnell.
===== Verbesserungen =====
* Baue Grenzen für die Variable v1 ein. Ändere nur, wenn die Grenzen noch nicht über- bzw. unterschritten wurden. Nutze dazu Operatoren ( > und < ).
* Teste dein Programm, vergleiche es mit der Hilfekarte und speichere wieder ab.
Wenn mehrere Tastaturereignisse nebeneinander programmiert werden, kann es bei größeren Programmen zu Schwierigkeiten bei der Ausführung kommen.
Wir ändern deshalb den Programmcode für unser Auto. In der Endlosschleife „wiederhole fortlaufend“ befindet sich gerade die Verzweigung, in der die Position des Autos abgefragt und seine Position verändert wird.
Wir wollen in die gleiche Endlosschleife zwei weitere Verzweigungen anhängen.
* Falls Taste x gedrückt wird und v1 < 20, dann soll die Geschwindigkeit erhöht werden.
* Falls Taste c gedrückt wird und v1 > 5, dann soll die Geschwindigkeit verringert werden.
Setze die Vorschläge um:
* Probiere, das Gewünschte in deinem Programmcode zu ergänzen. (Mache dich für die gewünschten Blöcke auf die Suche in "Steuerung", "Fühlen" und "Operatoren".)
* Speichere das veränderte Programm unter einem neuen Namen ''06katzeV2'' ab und teste hinterher beide Varianten. Merkst du einen Unterschied?
Du hast für die Bedingung in der Verzweigung ein ''"und"'' verwendet, um zwei Bedingungen zu verknüpfen.
\\
**Logische Verknüpfungen**
\\
Neben „und“ findest du noch „oder“ und „nicht“ bei den Operatoren. Diese drei nennt man logische Verknüpfungen oder logische Operatoren.
* „und“ bedeutet, dass beide Bedingungen gleichzeitig erfüllt sein müssen,
* „oder“ bedeutet, dass mindestens eine der beiden Bedingungen erfüllt sein muss.