De tijd instellen
Om te testen hebben we de tijd vast ingesteld (op 10u45) met deze blokken:
maak [uur v] [10]
maak [min v] [45]
In het echt moet de gebruiker de tijd kunnen instellen.
We moeten wel controleren of er geen foute getallen worden ingevuld.
Met bijvoorbeeld 99u99 zou ons alarm immers niet werken!
Dat instellen wordt een beetje ingewikkeld, en daarom gaan we die code onder een zelfgemaakt blok stoppen.
Ga naar Meer blokken en druk op Maak een blok. Kies VraagTijd als naam.

Dan vragen we het uur en controleren we het antwoord. Als het goed is, dan onthouden we het uur. Anders geven we een foutboodschap en vragen we het opnieuw tot het goed is. Volgende blokken heb je hiervoor nodig:
definieer [VraagTijd] :: custom hat
vraag [Uur:] en wacht
<<(antwoord) < [24]> en <(antwoord) > [-1]>>
als <> dan
maak [uur v] (antwoord)
maak [IsAlarmGezet v] (1)
vraag [Het uur moet tussen 0 en 23 uur liggen! Uur:] en wacht
herhaal tot <>
En dan moeten we er gewoon iets gelijkaardigs aan toevoegen voor de minuten, maar dan een waarde van 0 tot 60 minten.
<<(antwoord) < [60]> en <(antwoord) > [-1]>>
Oplossing
klik hier
definieer (VraagTijd) :: custom hat
vraag [Uur:] en wacht
herhaal tot <<(antwoord) < [24]> en <(antwoord) > [-1]>>
vraag [Het uur moet tussen 0 en 23 uur liggen! Uur:] en wacht
einde
maak [uur v] (antwoord)
vraag [Minuut:] en wacht
herhaal tot <<(antwoord) < [60]> en <(antwoord) > [-1]>>
vraag [Minuten moeten tussen 0 en 60 liggen! Minuten:] en wacht
einde
maak [min v] (antwoord)
maak [IsAlarmGezet v] (1)
Vervang nu je testcode:
maak [uur v] [10]
maak [min v] [45]
... door VraagTijd :: custom en dan zou alles perfect moeten werken!