Memory Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Gabriele.kojan (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „ == Hilfestellung == * Für die Kopf-Seite der Münze kann der Wert "wahr" oder "falsch" genommen werden. * Annahme: Kopf entspricht "wahr", Zahl entspricht "…“
 
Gabriele.kojan (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
== Hilfestellung ==
== Hilfestellung ==


* Für die Kopf-Seite der Münze kann der Wert "wahr" oder "falsch" genommen werden.
:'''Du benötigst drei Programmteile'''
* Annahme: Kopf entspricht "wahr", Zahl entspricht "falsch"
* Beim Start soll auf allen BBC micro:bits das gleiche Symbol erscheinen.
* Bei Berührung des Logos wird der Soundeffekt wiedergegeben.
: Das Symbol blinkt dabei mehrmals, damit man sich merkt, welcher micro:bit berührt wurde.
* Beim Drücken auf den Knopf A erscheint das "Häkchen"-Symbol.


== Detailschritte ==
== Detailschritte ==


* Ereignis "wenn geschüttelt"
* '''Ereignis "beim Start"'''
 
* Zeige LEDs (z.B. den Buchstaben M)
* wenn-dann-Verzweigung
<spoiler text="Lösung">
 
<pre id="01">
<pre id="01">
input.onGesture(Gesture.Shake, function () {
basic.showLeds(`
     if (Math.randomBoolean()) {
    # . . . #
   
    # # . # #
     }
     # . # . #
})
    # . . . #
     # . . . #
    `)
</pre>
</pre>
 
</spoiler>
* Anzeige bei "wahr" - steht für Kopf
* '''Ereignis "wenn Logo berührt"'''
* Anzeige bei "falsch" - steht für Zahl
* Soundeffekt wird gespielt
* Anzahl muss mitgezählt werden
* Das Symbol blinkt 5 mal, damit man weiß, welcher micro:bit gedrückt wurde
* M soll nach dem Binken wieder angezeigt werden
<spoiler text="Lösung">
<pre id="01">
<pre id="01">
let anzahl_kopf = 0
input.onLogoEvent(TouchButtonEvent.Touched, function () {
let anzahl_zahl = 0
     soundExpression.sad.play()
input.onGesture(Gesture.Shake, function () {
    for (let index = 0; index < 5; index++) {
     if (Math.randomBoolean()) {
        anzahl_kopf += 1
         basic.showLeds(`
         basic.showLeds(`
             . # . . #
             # . . . #
             . # . # .
             # # . # #
             . # # . .
             # . # . #
             . # . # .
             # . . . #
             . # . . #
             # . . . #
             `)
             `)
    } else {
         basic.pause(10)
         anzahl_zahl += 1
         basic.showLeds(`
         basic.showLeds(`
             . # # # #
             . . . . .
             . . . . #
             . . . . .
             . . # # .
             . . . . .
             . # . . .
             . . . . .
             . # # # #
             . . . . .
             `)
             `)
        basic.pause(10)
     }
     }
})
    basic.showLeds(`
        # . . . #
        # # . # #
        # . # . #
        # . . . #
        # . . . #
        `)
</pre>
</pre>
 
</spoiler>
* Anzahl wird jeweils ausgegeben
* '''Ereignis: Wenn Knopf A gedrückt'''
 
* Häkchen-Symbol erscheint
<spoiler text="Lösung">
<pre id="01">
<pre id="01">
input.onButtonPressed(Button.A, function () {
input.onButtonPressed(Button.A, function () {
     basic.showNumber(anzahl_kopf)
     basic.showIcon(IconNames.Yes)
})
input.onButtonPressed(Button.AB, function () {
    basic.showNumber(anzahl_kopf + anzahl_zahl)
})
input.onButtonPressed(Button.B, function () {
    basic.showNumber(anzahl_zahl)
})
})
</pre>
</pre>
 
</spoiler>
* Nicht vergessen - Variablen auf 0 stellen
* Eine mögliche [https://makecode.microbit.org/_MmeY1gYqx2vz Lösung]
 
<pre id="01">
let anzahl_kopf = 0
let anzahl_zahl = 0
</pre>
 
 
* Eine mögliche [https://makecode.microbit.org/#pub:_5xXaUvf3mTKb Lösung]




[[Dem Zufall auf der Spur|Zurück zur Aufgabe]]
[[Memory|Zurück zur Aufgabe]]


<htmlet>makecode_embed</htmlet>
<htmlet>makecode_embed</htmlet>

Aktuelle Version vom 14. März 2022, 17:48 Uhr

Hilfestellung

Du benötigst drei Programmteile
  • Beim Start soll auf allen BBC micro:bits das gleiche Symbol erscheinen.
  • Bei Berührung des Logos wird der Soundeffekt wiedergegeben.
Das Symbol blinkt dabei mehrmals, damit man sich merkt, welcher micro:bit berührt wurde.
  • Beim Drücken auf den Knopf A erscheint das "Häkchen"-Symbol.

Detailschritte

  • Ereignis "beim Start"
  • Zeige LEDs (z.B. den Buchstaben M)

<spoiler text="Lösung">

basic.showLeds(`
    # . . . #
    # # . # #
    # . # . #
    # . . . #
    # . . . #
    `)

</spoiler>

  • Ereignis "wenn Logo berührt"
  • Soundeffekt wird gespielt
  • Das Symbol blinkt 5 mal, damit man weiß, welcher micro:bit gedrückt wurde
  • M soll nach dem Binken wieder angezeigt werden

<spoiler text="Lösung">

input.onLogoEvent(TouchButtonEvent.Touched, function () {
    soundExpression.sad.play()
    for (let index = 0; index < 5; index++) {
        basic.showLeds(`
            # . . . #
            # # . # #
            # . # . #
            # . . . #
            # . . . #
            `)
        basic.pause(10)
        basic.showLeds(`
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            . . . . .
            `)
        basic.pause(10)
    }
    basic.showLeds(`
        # . . . #
        # # . # #
        # . # . #
        # . . . #
        # . . . #
        `)

</spoiler>

  • Ereignis: Wenn Knopf A gedrückt
  • Häkchen-Symbol erscheint

<spoiler text="Lösung">

input.onButtonPressed(Button.A, function () {
    basic.showIcon(IconNames.Yes)
})

</spoiler>


Zurück zur Aufgabe