Dies prüft man für die beiden anderen Möglichkeiten ebenfalls. Wenn keine der drei wahr ist wird im else-Block ausgegeben, dass Spieler 2 gewonnen hat. Wir wünschen viel Spaß mit dieser Erweiterung der Schere Stein Papier Challenge! Die Auflösung gibt es morgen früh hier auf dem Blog. Ich bin der Challenge Master. CALLIOPE | Projekte. Hinter mir verbergen sich die Auszubildenden von Proact Deutschland. Gemeinsam füllen wir diesen Blog mit verschiedenen Projekten, um euch das Coden beizubringen.
- CALLIOPE | Projekte
Calliope | Projekte
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.
Als Erweiterung von Schere, Stein, Papier gibt es zahllose Varianten. In meiner Kindheit waren Feuer und Wasser beliebt. Aus Big Bang Theory kennen wir die Variante "Stein, Papier, Schere, Echse, Spock" mit folgenden Regeln:
Schere schneidet Papier, Papier bedeckt Stein, Stein zerquetscht Echse, Echse vergiftet Spock. Spock zertrümmert Schere, Schere köpft Echse, Echse frisst Papier. Papier widerlegt Spock, Spock verdampft Stein. Und wie gewöhnlich – Stein schleift Schere. Dies können wir in einem Graphen aufmalen, wobei ein Pfeil bedeutet, dass der Ursprung das Ziel schlägt. An diesem Graphen kann man schön sehen, dass das Spiel ausgeglichen ist. Außerdem existiert für jede Kombination (außer zwei gleichen Figuren) ein Spielausgang in Form von Sieg oder Niederlage. Dies liegt daran, dass jede Figur aus dem Spiel im Graph exakt vier Kanten hat, wobei zwei Ausgangs- und zwei Eingangskanten sind. Balanciertheit und Vollständigkeit
Formal können wir sagen, dass ein Spiel aus "Schere, Stein, Papier, …" genau dann ausgeglichen/balanciert ist, wenn gilt (wir nennen die Menge aller Spielfiguren S):
\(\forall s \in S: d^{-}(s) = d^{+}(s)\)
Und es ist vollständig (=es existiert außer bei gleichen Figuren ein Ergebnis), wenn gilt:
\(\forall s \in S: d(s) = - 1\)
Das klassische Schere, Stein, Papier ist übrigens nur ein Subgraph des obigen Graphen.