Skip to main content

Zähler-App – Schritt 5

Sprachausgabe

Ziel 5

Immer wenn eine neue 100er-Marke erreicht wird, wird diese per Sprachausgabe ausgegeben.

Design-Ansicht

Benötigt werden:

  1. Ein Element des Typs Sprachausgabe

Hinweis: Die Elemente tauchen nicht auf dem Bildschirm auf, sondern sind unten im Bereich "nicht sichtbare Komponenten" dargestellt. 

Vergebt sinnvolle Namen für die Elemente. 


Hilfe benötigt? So könnte das aussehen...


Blöcke-Ansicht (Programmierung)

Funktion Sprachausgabe

Auslöser: Klick auf Tasten

Zu verändernde Elemente: TextZuSprache → sprich

Berechnung: Ergebnis größer als nächste 100er-Marke

  1. Wir speichern die nächste 100er-Marke in einer Variable (→ global initialisieren). Die erste Marke ist 100.
  2. Erstellt einen wenn-dann-Block.
  3. Die Sprachausgabe soll nur erfolgen, wenn das Ergebnis größer oder gleich der gespeicherten 100er-Marke ist. Erstellt dazu einen Vergleich-Block und vergleicht das Ergebnis mit dem Wert der Variable
  4. Erstellt einen Sprich-Block für die TextZuSprache. Diese soll den 100er-Block aussprechen, der erreicht wurde. 
  5. Anschließend muss der 100er-Block auf den nächsten 100er-Wert gesetzt werden – also aus 100 wird 200 usw. 

Wir könnten diesen Block nun sechsmal duplizieren und in alle Klick-Ereignisse hinzufügen. Beim Programmieren soll aber gleicher Code möglichst nie mehrfach geschrieben werden. Deshalb verwenden wir für den 100er-Check eine sogenannte Prozedur. 

Prozeduren

Prozeduren, auch Funktionen genannt, beinhalten selbst Programmcode. Diese Prozeduren können an jeder Stelle im Programm aufgerufen werden und führen dann den Code aus. 

  1. Erstellt einen mache-Block und benennt die Prozedur. 
  2. Fügt euren wenn-dann-Block in den mache-Block ein. 
  3. Im Prozeduren-Bereich findet ihr nun einen aufrufen-Block. Platziert diesen in allen Klick-Events, so dass dieser jeweils aufgerufen und der Check ausgeführt wird.
Hilfe benötigt? Hier gibt es die Lösung...


Testen

  1. Erfolgt die Sprachausgabe, wenn 100er-Schritte übersprungen werden?
  2. Funktionieren die bisherigen Tasten weiterhin?
  3. Könnt ihr weitere Probleme finden und diese korrigieren?

Funktioniert alles? Herzlichen Glückwunsch! 


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.