TigerJython4Kids | HomeTurtlegrafikRobotikDatenbanken |
deutsch english |
SPIELBESCHREIBUNG |
|
TEILAUFGABE 1: ZUFÄLLIGE FOLGE MIT ZAHLEN 0 UND 1 ERZEUGEN |
Als erstes schreibst du ein Programm, das beim Aufruf der Funktion createSeg(n) eine zufällige Folge mit n Elementen der Zahlen 0 oder 1 erzeugt und diese in einer Liste seg speichert. Teste das Programm mit verschiedenen n und schreibe die Liste mit print(seq) aus. Programm: from microbit import * from random import randint def createSeq(n): ... seq = [] n = 3 createSeq(n) print(seq) |
TEILAUFGABE 2: ZUFÄLLIGE FOLGE MIT ← UND → ERZEUGEN |
Mit der Funktionen left() wird mit dem Image ARROW_E ein Linkspfeil während 500 ms angezeigt und danach wieder gelöscht. Schreibe diese Funktion und teste mit einem kleinen Testprogramm. Schreibe eine ähnliche Funktion right() für den Rechtspfeil (ARROW_W) und ergänze die Funktion createSeg() so, dass bei 0 ein Linkspfeil und bei 1 ein Rechtspfeil angezeigt wird. Teste das Programm mit verschiedenen n. |
TEILAUFGABE 3: WIEDERGABE DER FOLGE MIT BUTTONS |
Im nächsten Entwicklungsschritt baust du die Interaktion mit dem Spieler ein. Beim Drücken des linken bzw. rechten Buttons wird in die Liste seg2 eine 0 oder 1 eingetragen, je nachdem, ob der Spieler den linken oder rechten Button drückt n = 3 seg2 = [] while len(seq2) < n: if button_a.was_pressed(): seq2.append(0) if button_b.was_pressed(): seq2.append(1) sleep(10) Das sleep(10) verhindert, dass das Programm in der Wiederholschleife nicht unnötig viel Leistung vergeudet (und damit schwer abzubrechen ist). Ergänze das Programm so, dass zusätzlich mit den Funktionen left() bzw. right() beim Drücken der Buttons die passenden Pfeile angezeigt werden. Nach der Benutzereingabe vergleichst du die beiden Listen seq und seq2. Sind sie gleich, so ist die Wiedergabe richtig, sonst ist das Spiel beendet. Als Rückmeldung kannst du zum Beispiel die Images YES bzw. NO anzeigen. if seq == seq2:
display.show(Image.YES)
...
|
TEILAUFGABE 4: SCHWIERIGKEITSGRAD STEIGERN |
Bisher hat die gezeigte Sequenz immer noch die fixe Länge 3. Nun erweiterst du das Programm, dass das Spiel mit n = 2 beginnt und bei einer richtigen Wiedergabe n um 1 erhöht wird |
TEILAUFGABE 5: SPIEL BEENDEN |
Um das Spielende zu erfassen, brauchst du eine alles umfassende while-Schleife, die so lange läuft, bis die boolesche Variable gameOver True ist. .... Am Schluss kannst du noch die Länge der letzten korrekt wiedergegebenen Folge anzeigen, z. Bsp. mit einem scrollenden Text. Ein neues Spiel kannst du jederzeit durch Drücken der Reset-Taste starten. |
TEILAUFGABE 6: DAS SPIEL NACH EIGENEN IDEEN ERWEITERN |
Du hast sicher viele Ideen, wie du das Spiel individuell gestalten oder verbessern kannst. Anregung: |