## Eindopdracht model BRAND

Voor het maken van de eindopdrachten die horen bij het model BRAND zijn twee NetLogo bestanden beschikbaar.
Een NetLogo bestand waarin alle reeds voorgeprogrammeerde code is voorzien van commentaar en een versie waarbij dit niet is gedaan.
In de programmeercode zijn de plekken aangegeven waar de door jullie te schrijven code moet worden geplaatst.

1. Ramen toevoegen
   1. Pas de bitmap zo aan dat er naast deuren ook ramen zijn.
      De aanwezigheid van ramen behoort tot feitelijke wereldkennis.
   2. Nu er ramen zijn, kunnen leerlingen er ook door ontsnappen.
      Daartoe moet de functionele wereldkennis van de agenten worden uitgebreid.

      Behandel de ramen op dezelfde manier als de deuren.
      Zorg er echter voor dat de leerlingen de voorkeur geven aan ontsnapping door een deur.
      (Je hoeft geen nieuwe procedure escape-through-window te schrijven.
      Je kunt gebruik maken van de bestaande procedure escape-through-door en de bestaande variabele escaping-door).

2. Verspreiden van paniek
   In het model raken de leerlingen in paniek als ze brand ontwaren of als het alarm afgaat.
   Ze raken echter niet in paniek als ze andere leerlingen zien vluchten.
   Pas het model zo aan dat ze hun paniek verspreiden onder de leerlingen die direct naast hen staan of lopen.

3. Deurdrangers implementeren
   Alle deuren in de school zijn bij aanvang standaard dicht (hun kleur is grijs).
   De deuren naar buiten zijn standaard open (hun kleur is geel).
   Er is echter een knop die de deurdrangers op de binnendeuren regelt.
   Voor deze is nog geen code geschreven.
   Of de knop aan of uit staat, maakt nog geen verschil voor de deuren in de school.
   Deze blijven van het type “closeddoor” hoewel leerlingen er wel doorheen kunnen lopen.
   De opdracht is om de stand ON en OFF voor de deurdrangers te coderen.
   Bij OFF moet een deur open gaan zodra de leerling de deur nadert (en moet de kleur geel worden).
   De deur blijft open staan als de leerling over de drempel is. Bij ON zijn de deurdrangers actief.
   De deur gaat op dezelfde manier open als de leerling de deur nadert (en wordt geel), maar gaat dicht zodra een leerling de drempel is gepasseerd (en wordt weer grijs).
   Of de deur open of dicht staat maakt uiteraard verschil voor de verspreiding van het vuur.
   Het verschil in de verspreiding van de brand is al geprogrammeerd in de procedure progress-fire.

4. Verschillende typen en niet-deterministisch gedrag
   1. Maak twee typen agenten: jongens en meisjes bijvoorbeeld.
      Dit verschil behoort tot de feitelijke wereldkennis.
   2. Een verschil in feitelijke wereldkennis maakt een verschil in functionele wereldkennis waarschijnlijk.
      Een bepaalde mate van paniek kan (maar hoeft niet) je gedrag beïnvloeden.
      Het kan maken dat je doelloos rondloopt, aan de vloer vastgenageld staat, of juist heel doelbewust actie onderneemt.
      Bedenk zelf welk soort gedrag dat zou kunnen zijn en implementeer het.
      Het verschil tussen jongens en meisjes zou bijvoorbeeld kunnen zijn dat meisjes verstijven van schrik en jongens bij grote paniek andere leerlingen onder de voet lopen.