Loeffel-ei-loesung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
(Detailschritte)
Zeile 1: Zeile 1:
 
== Detailschritte ==
 
== Detailschritte ==
 
Die Lösung zu diesem Projekt wird hier in Teilen gezeigt:
 
Die Lösung zu diesem Projekt wird hier in Teilen gezeigt:
* Zeichnen des zentralen Punkts auf der Matrix:
 
<pre id="01">
 
led.plot(2, 2)
 
</pre>
 
  
 
* Variable setzen  
 
* Variable setzen  
Zeile 12: Zeile 8:
 
let x = 2
 
let x = 2
 
let y = 2
 
let y = 2
 +
</pre>
 +
 +
* Zeichnen des zentralen Punkts auf der Matrix:
 +
<pre id="01">
 +
led.plot(2, 2)
 
</pre>
 
</pre>
  
Zeile 24: Zeile 25:
  
 
</pre>
 
</pre>
 
 
  
 
* Vergleichen ob die Neigung kleiner oder größer ist als -150 (Linksneigung) und 150 (Rechtsneigung). Jeweils für x- und y-Neigung.
 
* Vergleichen ob die Neigung kleiner oder größer ist als -150 (Linksneigung) und 150 (Rechtsneigung). Jeweils für x- und y-Neigung.
Zeile 52: Zeile 51:
  
 
* Das gesamte Beispiel nun zusammengesetzt
 
* Das gesamte Beispiel nun zusammengesetzt
 
 
<pre id="01">
 
<pre id="01">
 
let accY = 0
 
let accY = 0
Zeile 75: Zeile 73:
 
     basic.clearScreen()
 
     basic.clearScreen()
 
})
 
})
 
 
</pre>
 
</pre>
 
<htmlet>makecode_embed</htmlet>
 
<htmlet>makecode_embed</htmlet>

Version vom 18. Januar 2022, 00:30 Uhr

Detailschritte

Die Lösung zu diesem Projekt wird hier in Teilen gezeigt:

  • Variable setzen
let accY = 0
let accX = 0
let x = 2
let y = 2
  • Zeichnen des zentralen Punkts auf der Matrix:
led.plot(2, 2)


  • Dauerhaft neuen Punkt setzen und Abfragend er Neigung in X- und y-Richtung
basic.forever(function () {
    led.plot(x, y)
    accX = input.acceleration(Dimension.X)
    accY = input.acceleration(Dimension.Y)
})

  • Vergleichen ob die Neigung kleiner oder größer ist als -150 (Linksneigung) und 150 (Rechtsneigung). Jeweils für x- und y-Neigung.
basic.forever(function () {
    if (accX < -150 && x > 0) {
        x += -1
    } else if (accX > 150 && x < 4) {
        x += 1
    }
    if (accY < -150 && y > 0) {
        y += -1
    } else if (accY > 150 && y < 4) {
        y += 1
    }
})
  • Einbau einer Pause, damti das System nicht bei jeder kleinen Bewegung reagiert.
basic.forever(function () {
    basic.pause(500)
    basic.clearScreen()
})
  • Das gesamte Beispiel nun zusammengesetzt
let accY = 0
let accX = 0
let x = 2
let y = 2
basic.forever(function () {
    led.plot(x, y)
    accX = input.acceleration(Dimension.X)
    accY = input.acceleration(Dimension.Y)
    if (accX < -150 && x > 0) {
        x += -1
    } else if (accX > 150 && x < 4) {
        x += 1
    }
    if (accY < -150 && y > 0) {
        y += -1
    } else if (accY > 150 && y < 4) {
        y += 1
    }
    basic.pause(500)
    basic.clearScreen()
})