1
Fork 0
mirror of https://github.com/Steffo99/turtle007.git synced 2024-11-21 20:44:20 +00:00

Importa progetto dal vecchio repository

This commit is contained in:
Steffo 2020-05-05 16:57:31 +02:00
parent c20fd2cc85
commit 03b63244e2

View file

@ -1,73 +1,125 @@
to setup ; Sì, è termite anche in inglese
clear-all breed [termites termite]
set-default-shape turtles "bug" ; Colore patch:
to-report patch-empty-color
report 0
;; distribuzione casuale di cibo
ask patches
[ if random-float 100 < densita_materiale
[ set pcolor yellow ] ]
reset-ticks
;; distribuzione casuale di termiti
create-turtles numero_termiti
ask turtles [
set color white
setxy random-xcor random-ycor
set size 5 ;; più facile da vedere
]
reset-ticks
end end
to-report patch-food-color
report 4
end
to-report is-on-food
report pcolor = patch-food-color
end
; Colore termiti
to-report termite-color
report [64 0 0]
end
to-report termite-with-food-color
report [255 0 0]
end
to-report has-food
report color = termite-with-food-color
end
; Termite: raccogli cibo
to pick-up-food
; Raccogli il cibo
set pcolor patch-empty-color
set color termite-with-food-color
end
; Termite: lascia per terra cibo
to drop-food
; Lascia per terra il cibo
set pcolor patch-food-color
set color termite-color
end
; Termite: scatta in una direzione casuale
to dash [amount]
; Se ruota il programma non funziona più. Perchè?
rt random 360
fd amount
end
to setup
; Ricrea la situazione iniziale
clear-all
reset-ticks
; Scegli l'immagine per le turtle
set-default-shape termites "bug"
; Crea distribuzione casuale di cibo
ask patches [
if random-float 100 < food-density [
set pcolor patch-food-color
]
]
; Crea termiti e inizializzale
create-termites termites-amount
ask termites [
; Bianche
set color termite-color
; In posizione casuali
setxy random-xcor random-ycor
; Grandi
set size 5
]
end
to go to go
; Fai lavorare le termiti
ask turtles [cerca-cibo appoggia-cibo ] ask termites [
work
]
; Avanza di un tick quando tutte le termiti hanno fatto
tick tick
end end
to cerca-cibo ; Termite: lavora!
to work
ifelse pcolor = yellow ; Se hai cibo, prova a lasciarlo per terra
[set pcolor black set color orange fd rg_inerzia] ;ramo vero if not is-on-food and has-food [
[vaga cerca-cibo] ; ramo falso drop-food
while [is-on-food] [
dash drop-dash
]
]
; Vaga
roam
; Raccogli il cibo se ci sei sopra
if is-on-food and not has-food [
pick-up-food
while [not is-on-food] [
dash pickup-dash
]
]
end end
to vaga to roam
lt random angolo_virata ; Girati in una direzione casuale
rt random angolo_virata lt random turn-angle
rt random turn-angle
; Avanza di 1
fd 1 fd 1
end end
to appoggia-cibo
ifelse pcolor = black
[ set pcolor yellow
set color white
allontanati]
[ vaga
appoggia-cibo ]
end
to allontanati
rt random 360
fd rg_libera
if pcolor != black
[ allontanati]
end
@#$#@#$#@ @#$#@#$#@
GRAPHICS-WINDOW GRAPHICS-WINDOW
210 210
10 10
671 822
472 623
-1 -1
-1 -1
3.0 4.0
1 1
10 10
1 1
@ -88,12 +140,12 @@ ticks
30.0 30.0
BUTTON BUTTON
23 14
10 13
97 200
62 46
NIL NIL
Setup setup
NIL NIL
1 1
T T
@ -105,13 +157,13 @@ NIL
1 1
BUTTON BUTTON
97 14
10 48
174 137
62 81
NIL
Go
NIL NIL
go
T
1 1
T T
OBSERVER OBSERVER
@ -122,12 +174,12 @@ NIL
1 1
BUTTON BUTTON
23 140
62 48
97 200
122 81
Step tick
let i 1\nwhile [i < numero_step]\n[\n go\n set i i + 1\n]\n go
NIL NIL
1 1
T T
@ -139,78 +191,71 @@ NIL
1 1
INPUTBOX INPUTBOX
13 15
227 189
103 105
287 249
rg_inerzia pickup-dash
20.0 20.0
1 1
0 0
Number Number
INPUTBOX INPUTBOX
103 108
227 189
195 200
287 249
rg_libera drop-dash
20.0 20.0
1 1
0 0
Number Number
SLIDER SLIDER
11 14
134 83
197 200
167 116
densita_materiale food-density
densita_materiale food-density
0 0
100 100
20.0 20.0
5
1 1
NIL 1
%
HORIZONTAL HORIZONTAL
INPUTBOX
13
287
195
347
angolo_virata
100.0
1
0
Number
SLIDER SLIDER
11 14
167 116
197
200 200
numero_termiti 149
numero_termiti termites-amount
50 termites-amount
0
1000 1000
100.0 50.0
50 50
1 1
NIL termites
HORIZONTAL HORIZONTAL
INPUTBOX SLIDER
97 14
62 149
174 200
122 182
numero_step turn-angle
turn-angle
0
360
100.0 100.0
1 1
0 1
Number °
HORIZONTAL
@#$#@#$#@ @#$#@#$#@
## WHAT IS IT? ## WHAT IS IT?