mirror of
https://github.com/Steffo99/turtle007.git
synced 2024-11-22 04:54:19 +00:00
Importa progetto dal vecchio repository
This commit is contained in:
parent
c20fd2cc85
commit
03b63244e2
1 changed files with 159 additions and 114 deletions
273
Progetto.nlogo
273
Progetto.nlogo
|
@ -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?
|
||||||
|
|
Loading…
Reference in a new issue