Metronom Loesung: Unterschied zwischen den Versionen
(→Grundsätzliche Überlegungen) |
(→Hilfestellungen und Lösung zum Metronom) |
||
Zeile 3: | Zeile 3: | ||
== 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 | ;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"> | :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"> |
Version vom 3. Januar 2022, 20:29 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.Block
- "ändern um" verändert das Tempo um einen bestimmten Wert. Das funktioniert sowohl mit positiven als auch negativen Zahlen.
- Dauerhafte Audio- und LED-Ausgabe
- Damit das Tempo zeitgleich mit dem Abspielen der Töne dargestellt wird, sind zwei Blöcke "dauerhaft" nötig. Block
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