Zum Hauptinhalt springen Skip to page footer

Projekt: Spielwürfel

Einstieg

Für viele Spiele benötigt man Würfel. Der häufigste Spielwürfel ist der sechsseitige Würfel (W6 oder englisch D6). Gelegentlich benötigt man auch Würfel mit anderen Zahlen oder einer anderen Flächenzahl.

Auch Computerspiele arbeiten mit Zufallswerten und „Würfeln“. Das erste Programm soll dir zeigen, wie einfach man Zufallswerte mit einem Würfel am Computer erzeugen kann.

Der Calliope Mini bietet Möglichkeiten, um mit Zahlen zu rechnen, sie zu speichern und zu vergleichen. So kann man zum Beispiel einfache Matheaufgaben lösen oder Zähler programmieren. Der Calliope Mini kann auch Zufallszahlen erzeugen.

Aufgabe 1: Skizziere die Bausteine in dein Heft und beschreibe jeweils, wo du diesen in der Bibliothek findest.

Wichtige Blöcke:
 

Aufgabe 2: Übertrage den Merkkasten in dein Heft.

Zufallszahlen auf dem Computer

Viele Computerprogramme arbeiten mit Zufallszahlen. Ein Computer kann jedoch nicht wirklich zufällige Ergebnisse erzeugen, sondern nur sogenannte Pseudo-Zufallszahlen. Damit diese bei jedem Programmdurchlauf unterschiedlich sind, wird zum Beispiel der Startwert des Zufallsgenerators aus der aktuellen Uhrzeit abgeleitet. 

Ohne ein solches System würde der Computer bei jedem Start immer die gleichen Zufallszahlen erzeugen.

Aufgabe 3: Ziel der Aufgabe ist es, einen funktionierenden Würfel zu programmieren. Dieser soll durch Schütteln des Calliope ausgelöst werden und entsprechend eine Zahl auf der LED-Matrix anzeigen.

a) Erstelle ein neues Projekt in MakeCode.

b) Entferne die Bausteine „beim Start“ und „dauerhaft“.

c) Wähle als Eingabe den Baustein „Wenn geschüttelt“. Füge den Baustein „Zeige Zahl …“ hinzu.

d) Teste dein Programm im Simulator, indem du die Schaltfläche „Schütteln“ anklickst.

e) Füge anschließend den Baustein „Wähle eine zufällige Zahl …“ hinzu und setze die Zahlen von 1 bis 6 ein.

f) Teste dein Programm erneut.

g) Lade deine Programmdatei in den Calliope Mini und würfle einige Runden gegen einen Mitschüler.

Aufgabe 4: Ein echter Würfel hat Augen!

a) Erstelle eine Variable mit dem Namen Würfelzahl.

b) Ändere dein Programm so, dass beim Schütteln die Würfelzahl auf den Wert der Zufallszahl von 1 bis 6 gesetzt wird.

c) Wähle im Bereich Logik den Baustein [Wenn wahr dann …] und füge diesen nach der Zufallszahlgenerierung ein. Ersetze <wahr> durch den Baustein <0 = 0>.

d) Füge deine Variable Würfelzahl auf einer Seite des Gleichheitszeichens ein und ersetze die 0 durch die Zahl 1.

e) Wenn <Würfelzahl = 1> gilt, dann füge nach dem Schlüsselwort dann eine LED-Grafik ein, die ein Würfelauge in der Mitte der Matrix anzeigt.

f) Verfahre nach diesem Prinzip, um auch die Würfelaugen 2 bis 6 zu implementieren. Verwende die Schaltfläche , um weitere Fälle einzufügen!

g) Implementiere für den Fall “ansonsten”, dass der Inhalt der Variablen als Zahl angezeigt wird.

h) Lösche den Bildschirminhalt unmittelbar nach dem Schütteln!

i) Teste dein Programm zunächst im Simulator und spiele es anschließend auf den Calliope.

Weiterführende Aufgaben

  • Ändere das Programm so, dass der Würfel Zahlen bis 8 (10, 12, 20, 100, 1000) würfeln kann.
  • Ändere das Programm so, dass der Würfel die 10er Zahlen von 10 bis 100 würfeln kann.
  • Ändere das Programm so, dass zwei Würfel geworfen werden und die Augen jeweils addiert werden. Falls ein Pasch geworfen wird, soll ein kleiner Jingle gespielt werden.
  • Versuche das Spiel „Lügenmäxchen“ zu programmieren.
    • Das Spiel benötigt zwei Würfel. Die höhere Zahl stellt jeweils den Zehner einer Zahl dar und die kleinere Zahl den Einer (z.B. 5 und 6 ergeben 65).
    • Nachdem man seine Zahl gelesen hat, muss man diese mit dem Druck einer Taste (A oder B) verstecken können (wird nicht mehr im Display angezeigt).
    • Durch erneutes Drücken der Taste wird die Zahl im Display wieder angezeigt.
    • Wenn einer 21 geworfen wurde, hat der Spieler die Runde gewonnen. Dies wird mit einem Jingle hörbar angezeigt.
    • Reihenfolge der Zahlen: 31, 32, 41, 42, 43, 51, 52, 53, 54, 61, 62, 63, 64, 65, 11, 22, 33, 44, 55, 66, 21 (Mäxchen)
  • Beschreibe deine Ideen und dein Vorgehen in einer Dokumentation als Medienprodukt.

Abgabeaufgabe: Würfel-Simulator für den Calliope Mini

Aufgabe 5: Implementiere ein Programm für den Calliope Mini, mit dem verschiedene digitale Würfel simuliert werden können.

Funktionalität

1-Würfel-Modus :

  • Über Knopfdruck (Tasten A und B) soll ein Würfel ausgewählt werden können. [Variable Modus benötigt]
    • W2 W4 W6 W8 W10 W20 W2
  • Durch den Tastendruck A + B soll der Würfel bestätigt werden, so dass man in den Würfelmodus gelangt. [Variable Bestätigt benötigt]
  • Beim Schütteln soll der aktuell gewählte Würfel einmal geworfen und das Ergebnis angezeigt werden. [Variable Würfelzahl benötigt]

2-Würfel-Modus (2W6) :

  • In einem zweiten Modus sollen zwei W6-Würfel gleichzeitig geworfen werden.
  • Erweitere das Ringmenü um diesen zusätzlichen Würfel.
  • Zeige die Augensumme beider Würfe auf dem Display an. [Variable Würfelzahl2 benötigt]

Hinweise:

  • Nutze Zufallszahlen zur Simulation der Würfelergebnisse.
  • Zeige den aktuellen Würfeltyp oder Modus auf dem Display an, damit die Nutzerin / der Nutzer weiß, was gerade aktiv ist.
  • Achte auf übersichtlichen und kommentierten Code.
  • Denke daran, deine Variablen sinnvoll zu initialisieren.

Abgabe

  • Lade dein Programm (als .hex-Datei) hoch oder teile den Projektlink mit deinem Lehrer ().
  • Erstelle eine kurze Dokumentation (Medienprodukt) als Erklärung deiner Lösung. Verwende ein Textverarbeitungsprogramm oder Folienpräsentationsprogramm.
  • Abgabe bis zur kommenden Doppelstunde

Bonus-Idee (freiwillig)

  • Baue eine kleine Animation oder Soundausgabe beim Würfeln ein, um das Programm interaktiver zu gestalten!

Leitfragen

Für jede abgespeicherte Information benötigst du eine Variable.

  • Spielmodus (W2, W4, W6, W8, W10, W12 oder W20)
  • Spielmodus bestätigt (wahr oder falsch)
  • Würfelzahl

Was passiert wenn du die Tasten A oder B drückst?

  • Wenn der aktuelle Modus XXX ist, dann schalte in den Modus YYY
  • Wenn der aktuelle Modus YYY ist, dann schalte in den Modus ZZZ