Robot in een doolhof

In dit project programmeer je een robot om door verschillende doolhoven te lopen.


Er zijn vijf doolhoven voor je gemaakt. Maak de code om te ontsnappen uit deze doolhoven zo simpel, beknopt en elegant als mogelijk is.

Dit is bijvoorbeeld een oplossing voor Doolhof 1:


Een tweede oplossing is een herhaal blok nesten binnen een ander blok. Dat zorgt ervoor dat de code beknopter wordt en ook eleganter:


Dit werkt doordat het niet uitmaakt welke kant de robot opkijkt wanneer hij zijn bestemming bereikt.

In pseudocode zou je dit kunnen weergeven met BEWEEG_VOORUIT(), DRAAI_RECHTSOM() en DRAAI_LINKSOM().



  1. Bestudeer de robot- en bordsprites. Schrijf voor elke doolhof de kortste en meest elegante code om de robot te helpen ontsnappen. Gebruik naast de Besturen-blokken die je nodig hebt, enkel deze vier speciale Bewegen-blokken:





  2. Analyseer de code. Teken het doolhof op ruitjespapier na. Gebruik Snap! niet.


  3. Deel je tekening met andere studenten, en bespreek hoe je dit gemaakt hebt.





Test jezelf - Robot

De robot in de afbeelding hieronder kan binnen een wit vierkant bewegen en moet eindigen bij het grijze vierkant. Zwart is verboden gebied.



Hieronder staat een procedure DraaiEnGaan:
PROCEDURE DraaiEnBeweeg (aantalDraaien, aantalBewegingen)
  {
    HERHAAL aantalDraaien KEER
    {
      DRAAI_LINKSOM ()
    }
    HERHAAL aantalBewegingen KEER
    {
      BEWEEG_VOORUIT ()
    }
  }

Welke van de onderstaande stukjes code zorgt ervoor dat de robot in het grijze vak uitkomt?
DraaiEnBeweeg(1,3)
DraaiEnBeweeg(1,5)
DraaiEnBeweeg(1,2)
DraaiEnBeweeg(1,3)
DraaiEnBeweeg(3,5)
DraaiEnBeweeg(1,2)
DraaiEnBeweeg(3,1)
DraaiEnBeweeg(5,3)
DraaiEnBeweeg(2,1)
DraaiEnBeweeg(1,4)
DraaiEnBeweeg(3,6)
DraaiEnBeweeg(1,3)
 
  1. Bouw je eigen doolhof en schrijf de bijbehorende robot-ontsnapcode.
    • Analyseer de Teken je Doolhof code in de Bord-sprite (zie hieronder).
    • Experimenteer. Als je sommige nullen in enen verandert, kun je een pad maken dat de robot kan afleggen.
    • De bord matrix variabele bezit een lijst van lijsten. Elke aparte lijst van nullen en enen hoort bij een rij van vierkanten in het doolhof.
    • Bewerk bord matrix om een doolhof te maken dat je leuk vindt, schrijf dan de Ontsnap Je Doolhof code voor de robot.
TerugVolgende