Metronom Loesung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Grundsätzliche Überlegungen == | == Grundsätzliche Überlegungen == | ||
Bei diesem Beispiel dreht sich alles um die Variable Tempo. Sie ist schon vorgefertigt und unter dem Abschnitt Musik zu finden. Ihr Wert wird in bpm (= beats per minute) angegeben und kann jederzeit abgerufen und verändert werden. | |||
== Hilfestellungen und Lösung zum Metronom == | == Hilfestellungen und Lösung zum Metronom == | ||
; | ;"ändern auf" und "ändern um" | ||
:Wichtig ist die Unterscheidung zwischen "ändern auf" und "ändern um". | |||
: | :"ändern auf" setzt das Tempo auf einen bestimmten Wert. <spoiler text="Block"><pre id="pre01"> | ||
music.setTempo(100) | |||
: | |||
: | </pre> | ||
</spoiler> | |||
:"ändern um" verändert das Tempo um einen bestimmten Wert. Das funktioniert sowohl mit positiven als auch negativen Zahlen. <spoiler text="Block"><pre id="pre01"> | |||
input.onButtonPressed(Button.A, function () { | |||
music.changeTempoBy(-5) | |||
}) | |||
</pre> | |||
</spoiler> | |||
; | ;Dauerhafte Audio- und LED-Ausgabe | ||
: | :Damit das Tempo zeitgleich mit dem Abspielen der Töne dargestellt wird, sind zwei Blöcke "dauerhaft" nötig. <spoiler text="Block"><pre id="pre01"> | ||
basic.forever(function () { | |||
basic.showNumber(music.tempo()) | |||
}) | |||
basic.forever(function () { | |||
music.playTone(262, music.beat(BeatFraction.Sixteenth)) | |||
music.rest(music.beat(BeatFraction.Whole)) | |||
}) | |||
</pre> | |||
</spoiler> | |||
== Komplettlösungen == | |||
<pre id="01"> | |||
input.onButtonPressed(Button.A, function () { | |||
music.changeTempoBy(-5) | |||
}) | |||
input.onButtonPressed(Button.B, function () { | |||
music.changeTempoBy(5) | |||
}) | |||
music.setTempo(100) | |||
basic.forever(function () { | |||
music.playTone(262, music.beat(BeatFraction.Sixteenth)) | |||
music.rest(music.beat(BeatFraction.Whole)) | |||
}) | |||
basic.forever(function () { | |||
basic.showNumber(music.tempo()) | |||
}) | |||
</pre> | |||
* Eine mögliche [https://makecode.microbit.org/_3seJTFAWYJzC Lösung] | |||
[[Metronom|Zurück zur Aufgabe]] | |||
<htmlet>makecode_embed</htmlet> | |||
Aktuelle Version vom 13. März 2022, 18:33 Uhr
Grundsätzliche Überlegungen
Bei diesem Beispiel dreht sich alles um die Variable Tempo. Sie ist schon vorgefertigt und unter dem Abschnitt Musik zu finden. Ihr Wert wird in bpm (= beats per minute) angegeben und kann jederzeit abgerufen und verändert werden.
Hilfestellungen und Lösung zum Metronom
- "ändern auf" und "ändern um"
- Wichtig ist die Unterscheidung zwischen "ändern auf" und "ändern um".
- "ändern auf" setzt das Tempo auf einen bestimmten Wert. <spoiler text="Block">
music.setTempo(100)
</spoiler>
- "ändern um" verändert das Tempo um einen bestimmten Wert. Das funktioniert sowohl mit positiven als auch negativen Zahlen. <spoiler text="Block">
input.onButtonPressed(Button.A, function () {
music.changeTempoBy(-5)
})
</spoiler>
- Dauerhafte Audio- und LED-Ausgabe
- Damit das Tempo zeitgleich mit dem Abspielen der Töne dargestellt wird, sind zwei Blöcke "dauerhaft" nötig. <spoiler text="Block">
basic.forever(function () { basic.showNumber(music.tempo()) }) basic.forever(function () { music.playTone(262, music.beat(BeatFraction.Sixteenth)) music.rest(music.beat(BeatFraction.Whole)) })
</spoiler>
Komplettlösungen
input.onButtonPressed(Button.A, function () { music.changeTempoBy(-5) }) input.onButtonPressed(Button.B, function () { music.changeTempoBy(5) }) music.setTempo(100) basic.forever(function () { music.playTone(262, music.beat(BeatFraction.Sixteenth)) music.rest(music.beat(BeatFraction.Whole)) }) basic.forever(function () { basic.showNumber(music.tempo()) })
- Eine mögliche Lösung