★ Aan de slag 34

In het model wordt nu altijd gestart met 100 turtles.
Bovendien worden alle turtles geboren met een vast energiepeil van 0.
Het zou leuker zijn als je die beginwaarden kon instellen.
Daarvoor gebruiken we een schuifbalk. De waarde die we instellen met behulp van de schuifknop geven we een naam.
De variabele die we zo maken is een global variabele.
De naam gebruiken we in de code zonder dat de variabele aan het begin van de code hoeft te worden gedeclareerd.

  1. Plaats een slider in het witte gedeelte naast de view.
    We gaan deze slider gebruiken voor het aangeven van het aantal turtles waarmee we het model willen laten starten.
    Je vindt de schuifknop in het menu als Slider.

  2. Geef de globale variabele de naam number en stel het maximum aantal turtles op 100 in.

  3. Pas de code van to set-up turtles aan zodat er niet altijd 100 turtles zijn aan het begin, maar net zoveel als de schuifbalk aangeeft:

    to setup-turtles
          create-turtles number
          ask turtles [setxy random-xcor random-ycor]
    end

     

  4. Maak een schuifbalk die instelt met welk energiepeil turtles worden geboren, en geef de variabele de naam birth-energy.

  5. Pas de procedure reproduce zo aan dat

    to reproduce
       ask turtles[
             if energy > birth-energy [
             set energy (energy - birthenergy)
             hatch 1 [set energy birth-energy]
             ]
       ]
    end

     

  6. Maak een schuifknop voor de energie die de turtles krijgen door het eten van gras en geef de variabele de naam energy-from-grass.

  7. Pas de code van eat-grass zo aan dat het energiepeil stijgt met de ingestelde waarde:

        to eat-grass
        ask turtles [
              if pcolor = green [
                    set pcolor black
                    set energy (energy + energy-fromgrass)
              ]
              ifelse show-energy?
                    [set label energy ]
                    [set label ""]
              ]

    end