Loeffel-ei-loesung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Alois.bachinger (Diskussion | Beiträge)
Alois.bachinger (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:
led.plot(2, 2)
led.plot(2, 2)
</pre>
</pre>
* Variable setzen  
* Variable setzen  
<pre id="01">
<pre id="01">
Zeile 13: Zeile 14:
</pre>
</pre>


* Dauerhaft neuen Punkt setzen und Abfragend er Neigung in X- und y-Richtung
<pre id="01">
basic.forever(function () {
    led.plot(x, y)
    accX = input.acceleration(Dimension.X)
    accY = input.acceleration(Dimension.Y)
})
</pre>
* Vergleichen ob die Neiugng kleiner oder größer ist als -150 (Linksneigung) und 150 (Rechtneigung). Jeweils für x- und y-Neigung.
<pre id="01">
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
    }
})
</pre>
* Einbau einer Pause, damti das System nicht bei jeder kleinen Bewegung reagiert.
<pre id="01">
basic.forever(function () {
    basic.pause(500)
    basic.clearScreen()
})
</pre>





Version vom 17. Januar 2022, 23:28 Uhr

Detailschritte

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

  • Zeichnen des zentralen Punkts auf der Matrix:
led.plot(2, 2)
  • Variable setzen
let accY = 0
let accX = 0
let x = 2
let y = 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 Neiugng kleiner oder größer ist als -150 (Linksneigung) und 150 (Rechtneigung). 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()
})


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()
})