Lösung Challenge 7: Schere Stein Papier – Erweiterung

Lösung

Wie in den Tipps bereits beschrieben, kann man A+B nur drücken, wenn die Variable „start“ auf False steht. Danach wird die Variable sofort auf True gesetzt, denn das Spiel soll nicht noch einmal gestartet werden können. Die benötigten Variablen werden auf Standardwerte gesetzt.

  •  „player“ auf 1, da Spieler 1 anfangen soll
  • „result1“ und „result2“ auf -1, da dies außerhalb unserer möglichen Spielraums von 1 bis 3 ist
  • „hand“ speichert das aktuelle Ergebnis und soll zu Beginn keine der möglichen Figuren sein

Zu Beginn des Spiels soll die Zahl 1 gezeigt werden, um darzustellen, dass Spieler 1 an der Reihe ist. Alternativ könnte man auch die Variable „player“ hineinziehen.

Der Block aus der vorherigen Challenge wird nun so modifiziert, dass man zu Beginn eine Abfrage aufstellt, welche überprüft, ob „start“ auf True steht. Nur dann soll man schütteln können. Diese muss den gesamten Block innerhalb des „on shake“ Blocks umschließen.

Nachdem das erste Mal geschüttelt wurde, soll der Micro:bit eine kurze Zeit warten, damit man das Ergebnis auch sieht. Danach fragt man ab, ob der aktuelle Spieler der erste Spieler ist, um dann das erzielte Ergebnis seiner Ergebnis-Variable „result1“ zuzuweisen. Dann ändert man den aktuellen Spieler auf 2 und zeigen die Zahl zwei an. Danach ist dieser Durchlauf zu Ende und man muss erneut schütteln.

Diesmal wird das Ergebnis für Spieler 2 gesetzt. Man fragt daher vorher ab, ob es sich um Spieler 2 handelt. Nachdem es gesetzt ist, soll der Micro:bit wieder für eine Sekunde warten. Zuletzt löscht man dann den Inhalt des Bildschirms, um den ermittelten Gewinner anzeigen zu können.

Das Ermitteln sieht auf den ersten Blick komplizierter aus als es ist. Man überprüft zuerst, ob „result1“ ungleich „result2“ ist, da es sonst ein Unentschieden ist. Danach fraget man jeweils ab, ob z.B. „result1“ die 1 ist und gleichzeitig „result2“ eine 2. Das würde bedeuten Spieler 1 hat einen Stein und Spieler 2 eine Schere, und somit hätte Spieler 1 gewonnen. Dies führt man für die drei Möglichkeiten aus und lässt jeweils ausgeben, dass Spieler 1 gewonnen hat. Trifft keine der Möglichkeiten zu, hat Spieler 2 gewonnen.

Zuletzt setzt man „start“ wieder auf False und setzt das Spiel zurück. Nun kann es wieder von vorne los gehen.

Challenge Master

Ich bin der Challenge Master. Hinter mir verbergen sich die Auszubildenden von Proact Deutschland. Gemeinsam füllen wir diesen Blog mit verschiedenen Projekten, um euch das Coden beizubringen.

 
Kommentare

Noch keine Kommentare vorhanden.

Hinterlassen Sie einen Kommentar