Zusatzaufgabe: Snake in Scratch

Hier findest du ein Tutorial für ein Snake-Spiel, programmiere es nach und beschäftige dich mit Scratch. Schick mir bis zum 23.5.2024 den Link zu deinem Ergebnis per Mail an markus.hacker@ezsh.de. Wenn du Probleme hast, kannst du auch am 23.5. noch in meine BdF-Station (Raum 2.29) kommen. Vergiss nicht, dich bei deiner normalen Station abzumelden.

Hier die Blockseite von Silicon Valley Kids mit dem nötigen Material und das ganze Tutorial nochmal als Text.

assets.zip

Aufgabe für den 30.4.: Das Malfolgen Game

Wir programmieren ein Spiel um Malfolgen zu üben:

  1. Das Programm denk sich zwei Zahlen zwischen 2 und 10 aus.
  2. Es multipliziert diese und speichert das Ergebnis
  3. Es gibt die Aufgabe aus. z.B. Was ist 5×4?
  4. Das Programm ermöglicht eine Eingabe.
  5. Es vergleicht die Eingabe mit der Ausgabe.
  6. Wenn das Ergebnis und Eingabe gleich sind, bekommt der Spieler fünf Punkte.
  7. Wenn Ergebnis und Eingabe nicht gleich sind, wird das richtige Ergebnis ausgegeben.
    Außerdem werden 5 Punkte abgezogen.
  8. Das ganze läuft in einem Gameloop ab.
  9. Gewonnen hat man, wenn man 100 Punkte hat.
  10. Wenn man will, kann man noch die Zeit oder zumindest die Aufgabe zählen messen.

Programmiert wird wie immer auf scratch.mit.edu. Im deutschsprachigen Scratch-Wiki könnt ihr alles nachlesen, was ihr nicht wisst.

Scratch-Projekt: Malfolgen-Game

Wir programmieren ein Spiel um Malfolgen zu üben:

  1. Das Programm denk sich zwei Zahlen zwischen 2 und 10 aus.
  2. Es multipliziert diese und speichert das Ergebnis
  3. Es gibt die Aufgabe aus. z.B. Was ist 5×4?
  4. Das Programm ermöglicht eine Eingabe.
  5. Es vergleicht die Eingabe mit der Ausgabe.
  6. Wenn das Ergebnis und Eingabe gleich sind, bekommt der Spieler fünf Punkte.
  7. Wenn Ergebnis und Eingabe nicht gleich sind, wird das richtige Ergebnis ausgegeben.
    Außerdem werden 5 Punkte abgezogen.
  8. Das ganze läuft in einem Gameloop ab.
  9. Gewonnen hat man, wenn man 100 Punkte hat.
  10. Wenn man will, kann man noch die Zeit oder zumindest die Aufgabe zählen messen.

Scratch-Projekt: Programmiere ein kleines Zahlenratespiel mit Scratch

  • Dein Programm soll sich eine Zahl zwischen 1 und 100 ausdenken und du musst sie erraten.
    Hierfür brauchst du einen Zufallsgenerator, der sieht so aus:

Du findest ihn bei den Operatoren. Wie kannst du die Zufallszahl einer Variablen zuweisen?

  • Bei jeder Zahl, die du eingibst, sagt dir das Programm, ob deine Zahl zu groß oder zu klein ist. Du brauchst also 2 Variablen und musst sie vergleichen, auch dazu brauchst du Operatoren wie =, > oder < und Verzweigungen, wie du sie unten siehst.
    Überlege wie du die Variablen schlau nennst, damit mal gleich versteht, wozu die jeweilige Variable da ist.
  • Du brauchst auch eine Schleife (Wiederholung) damit dein Programm dich so lange frägt, bis du die Zahl erraten hast.
  • Versuche herauszufinden, wie du deine Ein- und Ausgaben machen kannst. Das beste deutsche Nachschlagewerk zu Scratch findest du auf scratch-wiki.info
  • Natürlich dein Spiel auch verraten, wenn du die Zahl erraten hast. Hier solltest du einen Applaus einbauen.
  • Versuche erst mal die einzelnen Fragen zu lösen und die Lösungen dann in die richtige Reihensole. Was muss wann passieren?

Für funktionierende Lösungen, kann eine mündliche 1 eingetragen werden.

Aufgabe für den 12.3.2024: Karel-Aufgabe 10 – solveTheMaze


und hier könnt ihr Thonny kostenlos herunterladen:

https://thonny.org/

Für eine funktionierende Lösung gibt es eine mündliche 1

Studiere den Aufbau Labyrinths sorgfältig. Das Labyrinth enthält sowohl Kreuzungen als auch Sackgassen, aber keine Schleifen. Halte Kontakt mit der linker Wand und du sollten den Peeper finden!

Beschäftigt euch noch mal gründlich mit While-Schleifen und Verzweigungen.

Verzweigungen sind bedingte Aufführungen von Programmabschnitten.

if front_is_clear():
    move() 
    # Ich gehe nur,   
    # wenn es vor mir frei ist
elif eine_weiter_Bedignung():
    mach was_anderes()
else:
    mach_noch_was_ganz_anderes()

Du brauchst eine While-Schleife und eine etwas komplizierte Verzeigung. Bitte keine starre Programmierung!

Die Main-Funktion meiner Lösung hat 13 Zeilen. Als zusätzliche Funktionen gibt es nur turn_right() und turn_around().