TigerJython4Kids | HomeTurtlegrafikRobotikDatenbanken |
SPIELBESCHREIBUNG |
Das Spiel ist dem berühmten Tetris nachempfunden, aber stark vereinfacht.
Du hältst das Board so in der Hand, dass acht Vierreihen vor dir liegen.
|
TEILAUFGABE 1: FALLENDE STEINE IN ZUFÄLLIGEN FARBEN |
Das folgende Programm zeichnet fallende rote Steine, die in einer zufällige gewählten Spalte x = 2 bis x = 5 ganz oben starten. Programm: from oxocard import * from random import randint while True: x = randint(2, 5) #random start position y = 0 while y < 8: dot(x, y, RED) sleep(0.2) dot(x, y, BLACK) y += 1 Erweitere das Programm so, dass die neuen Steine eine zufällige Farbe aus den Farben RED, GREEN, YELLOW und BLUE haben. Am besten speicherst du dazu die Farben in einem Tupel colors: colors = (RED, GREEN, YELLOW, BLUE) |
TEILAUFGABE 2: MIT BUTTONS SPALTE WECHSELN |
Mit Klick auf den unteren linken Button soll sich der fallende Stein um eine Spalte nach links, beim Klick den unteren rechten Button um eine Spalte nach rechts verschieben. Beachte, dabei dass sich die Steine nur in den Spalten x = 2 bis x = 6 verschieben dürfen. Um einen Buttonklick zu verarbeiten, fügst du einen Test button.was_pressed() in die Wiederholschleife ein. |
TEILAUFGABE 3: FARBEN IN DEN SPALTEN FESTLEGEN |
Schreibe eine Funktion init(), welche in der Zeile 7 die vier Spaltenfarben festlegt. Wähle die Farben in der Reihenfolge der Liste colors. Sorge auch dafür, dass die Pixels in der Zeile y = 7 nicht durch die fallenden Steine überdeckt werden., indem du sie nur bis in Zeile y = 6 fallen lässt. |
TEILAUFGABE 4: BELEGTE ZELLEN ERKENNEN |
Jetzt möchtest du die korrekt platzierte Steine stehen lassen. Dazu musst du vorausblickend kontrollieren, ob du den Stein auf die nächste Zeile herunterfallen lässt. Es gibt verschiedene Fälle: Ist der Platz frei, so gibt es kein Problem und du kannst das Pixel herunterfallen lassen. Ist aber dort bereits ein Stein und hat dieser die gleiche Farbe, so beendest du das Herunterfallen, sonst musst du gemäss der Spielvorgabe den darunter liegenden Stein und den Stein selbst löschen. Du kannst die Farbe c eines Pixels an der Stelle x. y zurückholen, indem duc = getColor(x, y) aufrufst. |
TEILAUFGABE 5: LINKS-/RECHTSVERSCHIEBUNG EINSCHRÄNKEN |
Du kannst natürlich einen Stein nicht nach links oder rechts bewegen, wenn dort bereits eine Steinsäule vorhanden ist. Verhindere also die Verschiebung des fallenden Steins, wenn sich links oder rechts davon bereits ein Stein befindet. |
TEILAUFGABE 6: SPIELENDE / ERGEBNIS ANZEIGEN |
Nun bist du fast fertig: Begrenze noch die Anzahl der Spielsteine auf 24 und beende das Spiel, nachdem alle gespielt sind Die erreichte Punktzahl (der Score) ist gleich der Totalzahl der gesetzten Steine. Schreibe den Score auf dem Display aus.. |
TEILAUFGABE 7: EIGENE IDEEN EINBAUEN |
Ergänze oder modifiziere das Spiel nach deinen eigenen Ideen, um ihm einen persönlichen Touch zu geben. |