Wahrheit oder Tat

Erfahren mehr über Zufallszahlen, Inputs und Outputs in dieser lustigen Aktivität!

  • Get started
  • MakeCode
  • Inputs
  • Random
  • Variables
Print lesson
  • Alter 8+
  • 30 min.
  • MakeCode Editor

Einführung

Dieses Projekt bringt dir bei, wie du die Knöpfe und LEDs verwendest indem du ein "Wahrheit oder Tat" Spiel mit dem micro:bit programmierst!

Anleitung für Lehrpersonen

Öffnen Öffnen teacher resources

Aktivität

5 Schritte

Schritt 1

Dieses Programm zeigt einen Pfeil. Durch drehen des micro:bit wird der nächste Spieler bestimmt. Dieser Spieler drückt den A-Taste um zufällig zu bestimmen ob "Wahrheit" oder "Tat" gespielt wird.

Der erste Schritt erstellt den Pfeil. Wähle den "Zeige LEDs" Block, welchen du im Menü "Grundlagen" findest.

Drag the 'show leds' block to the workspace

Ziehe den "Zeige LEDs" Block in den Arbeitsbereich und Zeichne das Muster, welches angezeigt werden soll. Das Muster wird durch klicken der Kästchen erstellt. Ein weisses Kästchen bedeutet, dass die LED leuchtet.

Draw an arrow pattern on the LEDs

Damit die LEDs immer leuchten, müssen diese in einer dauerhaft Schleife sein. Die Schleife findest du im Menü "Grundlagen". Ziehe die Schlaufe in den Arbeitsbereich und platziere sie um den LED Block.

Drag a 'forever' block to the workspace

basic.forever(function () {
    basic.showLeds(`
        . . # . .
        . # # # .
        # # # # #
        . . # . .
        . . # . .
        `)
})
          

Schritt 2

Der nächste Teil des Programms zeigt eine zufällige Anweisung, sobald der Benutzer einen Taster drückt. Im Eingabemenü findest du den Block "wenn Knopf gedrückt". Ziehe diesen in den Arbeitsbereich.

Drag an 'on button press' block to the workspace

Das Resultat der Zufallsfunktion muss in einer Variable gespeichert werden. Wähle das Variablenmenü und klicke auf "Variable erstellen".

Click 'make a variable'

Ein Dialogfenster fragt danach nach dem Namen der Variable. Für dieses Beispiel nennen wir sie "Random".

Click 'ok' to rename the variable

Wähle den "ändere item auf" block im Variablenmenü, ziehe ihn in den Arbeitsbereich und verbinde ihn mit dem "wenn Knopf gedrückt" Block.

Drag a 'set item to' block

let item = 0
input.onButtonPressed(Button.A, function () {
    item = 0
})
          

Schritt 3

Die Variable "Random" hast du bereits im letzten Schritt erstellt. Dadurch findest du sie im "ändere item auf" Drop-Down-Menü. Wähle die Variable aus, indem du auf den Pfeil klickst und "Random" wählst.


let Random = 0
input.onButtonPressed(Button.A, function () {
    Random = 0
})
          

Jetzt wird die Variable auf "0" gesetzt sobald der Tester A gedrückt wird. Jetzt müssen wir dieser Zahl aber eine zufällige Nummer zuweisen. Vom Menü Mathematik wähle den "wähle eine zufällige Zahl zwischen 0 und 10" Block.

Drag a 'pick random' block to the workspace

Ziehe den Block in den Arbeitsbereich und füge ihm dem "ändere Random auf" Block hinzu. Eine zufällige Zahl zwischen 0 und 1 gibt und die zwei Optionen, welche wir später benötigen.


let Random = 0
input.onButtonPressed(Button.A, function () {
    Random = Math.randomRange(0, 1)
})
          

Schritt 4

Now we include a selection process using the IF statements found within the “logic” option within the block menu.

Drag an 'if' block to the workspace

Drag the “IF” block into the workspace and connect it to follow the “random” block; click '+' to add 'else' to the block.


let Random = 0
input.onButtonPressed(Button.A, function () {
    Random = Math.randomRange(0, 1)
    if (true) {
      
    } else {
      
    }
})
          

Next there we need to create a logical statement for the IF statement to be based upon to allow for selection. Again from the “logic” option on the block menu, add an “equals” block.

Drag an 'equals' block to the workspace

let Random = 0
input.onButtonPressed(Button.A, function () {
    Random = Math.randomRange(0, 1)
    if (0 == 0) {

    } else {

    }
})
          

Step Five

To ensure the micro:bit bases the IF statement on the random number, the value stored in the variable “Random” needs to be checked. The “Random” variable can be found from the 'variables' option in the block menu.

Drag the 'random' variable to the workspace

The “Random” variable block is placed in the “equals” block to test the IF statement logic. If the “Random” variable contains a “0” the first option is selected otherwise the second option is chosen.


let Random = 0
input.onButtonPressed(Button.A, function () {
    Random = Math.randomRange(0, 1)
    if (Random == 0) {

    } else {

    }
})
          

To get the "Truth or Dare" statements displayed on the screen the “show string” block is required from the basic option on the block menu.

Drag the 'show string' block to the workspace

The program is completed and both elements will work together at the same time, displaying the led arrow pattern, when the button hasn’t been pressed.


let Random = 0
input.onButtonPressed(Button.A, function () {
    Random = Math.randomRange(0, 1)
    if (Random == 0) {
        basic.showString("Truth")
    } else {
        basic.showString("Dare")
    }
})
          

Save the project and download to the micro:bit.

Challenge

Try to add the following functionality:

  • Add the number of player in the game and display who is playing.
  • Add different directions of the arrow.
  • Add an animation of the arrow spinning.
  • Add a score based system whether completed the truth or dare.

Erfahre mehr

The 'Magic 8' activity builds on this project to create a question-based game.

Selecting this opens external content from our support system, which adheres to their privacy policy.