De andere subprogramma's hebben we hier niet afgedrukt. Als het program-
meren van een afloop moeilijkheden oplevert, vind je de subprogramma's
kant en klaar in het bestand MIKE_VOORBEELD.MDL op de CD. Het hoofd-
programma van dit project is leeg. In het bouwvenster onder de indexkaart
„Subprogramma's" vind je een lijst met de beschikbare subprogramma's die
je in het hoofdprogramma kunt invoegen.
Opgave 4:
Programmeer Mike zodanig dat hij 5 stappen naar voren zet, twee
stappen naar links draait, dan twee stappen naar rechts, vervolgens
3 stappen achteruit zet en daarna opnieuw begint. Gebruik als
telvariabele voor het aantal stappen de variabele Var1. Gebruik E8
als resetknop.
Oplossing:
Dit project heet MIKE_DANS.MDL.
Maar kijk niet meteen na hoe
het moet. Probeer eerst zelf
achter de oplossing te komen.
Als het niet lukt, kun je het
immers nog altijd opzoeken.
Om alle subprogramma's eens
te testen willen we Mike nu
laten dansen.
3.2.5 Hindernissen herkennen
Ten slotte willen we Mike nog zover krijgen dat hij met zijn beweegbare
stoterstang (of liever „voeler") hindernissen herkent en uitwijkt.
Opgave 5a:
Programmeer Mike
zodanig dat hij bij
een hindernis aan
zijn linkervoeler
(knop E6) eerst 4
stappen achteruit
en dan 2 stappen
naar rechts uitwijkt.
Als er sprake is van
een hindernis aan
zijn rechtervoeler
(knop E5) moet hij
4 stappen achteruit
en vervolgens 3
stappen naar links
uitwijken.
Oplossing:
Mike loopt eerst altijd rechtdoor. Na iedere stap worden de knoppen E5 en
E6 gepolst. Als E6 is ingedrukt, springt het programma naar de linkerafloop
(eerst achteruit, dan naar rechts). Als E5 is ingedrukt, springt het naar de
middelste afloop (eerst achteruit, dan naar links).
Aangezien de knoppen E5 en E6 alleen na iedere volledige stap worden
gepolst, duurt het nogal lang totdat Mike op een hindernis reageert.
Opgave 5b:
Optimaliseer het
subprogramma VOORUIT
zodanig dat Mike
sneller op een hindernis
kan reageren.
Tip:
Gebruik voor het polsen
van de knoppen E1
en E2 niet de compo-
nent EDGE maar de
component COMPARE.
Pols daarmee bovendien
of E5 of E6 zijn inge-
drukt.
Oplossing:
NL
35