mirror of
https://github.com/Steffo99/turtle007.git
synced 2024-11-22 21:14:20 +00:00
Aggiorna progetto alle ultime specifiche
This commit is contained in:
parent
f44f19392e
commit
bf5d4844ee
1 changed files with 400 additions and 60 deletions
460
Progetto.nlogo
460
Progetto.nlogo
|
@ -1,6 +1,7 @@
|
||||||
breed [ants ant]
|
breed [ants ant]
|
||||||
patches-own [pheromone food nest distance-from-nest]
|
patches-own [pheromone food nest distance-from-nest]
|
||||||
ants-own [carrying-food]
|
ants-own [carrying-food speed metabolism hunger]
|
||||||
|
globals [ant-deaths ants-to-respawn]
|
||||||
|
|
||||||
to setup
|
to setup
|
||||||
clear-all
|
clear-all
|
||||||
|
@ -10,6 +11,8 @@ to setup
|
||||||
setup-ants
|
setup-ants
|
||||||
ask patches [p-paint-patch]
|
ask patches [p-paint-patch]
|
||||||
ask ants [t-paint-ant]
|
ask ants [t-paint-ant]
|
||||||
|
set ant-deaths 0
|
||||||
|
set ants-to-respawn 0
|
||||||
end
|
end
|
||||||
|
|
||||||
to p-paint-patch
|
to p-paint-patch
|
||||||
|
@ -54,9 +57,25 @@ to p-setup-nest
|
||||||
end
|
end
|
||||||
|
|
||||||
to setup-food
|
to setup-food
|
||||||
|
add-food-1
|
||||||
|
add-food-2
|
||||||
|
add-food-3
|
||||||
|
end
|
||||||
|
|
||||||
|
to add-food-1
|
||||||
ask patches [
|
ask patches [
|
||||||
p-add-food food-x-1 food-y-1 food-size-1
|
p-add-food food-x-1 food-y-1 food-size-1
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
to add-food-2
|
||||||
|
ask patches [
|
||||||
p-add-food food-x-2 food-y-2 food-size-2
|
p-add-food food-x-2 food-y-2 food-size-2
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
to add-food-3
|
||||||
|
ask patches [
|
||||||
p-add-food food-x-3 food-y-3 food-size-3
|
p-add-food food-x-3 food-y-3 food-size-3
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
@ -73,9 +92,18 @@ to setup-ants
|
||||||
ask ants [t-setup-ant]
|
ask ants [t-setup-ant]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
to respawn-ants
|
||||||
|
create-ants ants-to-respawn [t-setup-ant]
|
||||||
|
set ants-to-respawn 0
|
||||||
|
end
|
||||||
|
|
||||||
to t-setup-ant
|
to t-setup-ant
|
||||||
set color ant-color
|
set color ant-color
|
||||||
set carrying-food 0
|
set carrying-food 0
|
||||||
|
; Ho usato dei float invece che degli int, va bene lo stesso?
|
||||||
|
set speed (random (max-speed - min-speed + 1)) + min-speed
|
||||||
|
set metabolism (random (max-metabolism - min-metabolism + 1)) + min-metabolism
|
||||||
|
set hunger max-hunger
|
||||||
setxy nest-x nest-y
|
setxy nest-x nest-y
|
||||||
fd nest-size
|
fd nest-size
|
||||||
end
|
end
|
||||||
|
@ -163,10 +191,12 @@ to t-drop-food
|
||||||
rt 180
|
rt 180
|
||||||
end
|
end
|
||||||
|
|
||||||
to t-try-drop-food
|
to-report t-try-drop-food
|
||||||
if carrying-food = 1 and t-is-over-nest [
|
if carrying-food = 1 and t-is-over-nest [
|
||||||
t-drop-food
|
t-drop-food
|
||||||
|
report true
|
||||||
]
|
]
|
||||||
|
report false
|
||||||
end
|
end
|
||||||
|
|
||||||
to t-add-pheromone
|
to t-add-pheromone
|
||||||
|
@ -175,6 +205,25 @@ to t-add-pheromone
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
to t-die
|
||||||
|
; "To die is human, to respawn... divine!" --Zeus, Dota 2
|
||||||
|
set ant-deaths ant-deaths + 1
|
||||||
|
set ants-to-respawn ants-to-respawn + 1
|
||||||
|
; Die interrompe la funzione!
|
||||||
|
die
|
||||||
|
end
|
||||||
|
|
||||||
|
to t-resupply
|
||||||
|
set hunger max-hunger
|
||||||
|
end
|
||||||
|
|
||||||
|
to t-consume-food
|
||||||
|
set hunger hunger - metabolism
|
||||||
|
if hunger <= 0 [
|
||||||
|
t-die
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
to t-work
|
to t-work
|
||||||
ifelse carrying-food = 1 [
|
ifelse carrying-food = 1 [
|
||||||
t-rotate-nest
|
t-rotate-nest
|
||||||
|
@ -184,13 +233,44 @@ to t-work
|
||||||
]
|
]
|
||||||
left random random-angle
|
left random random-angle
|
||||||
right random random-angle
|
right random random-angle
|
||||||
fd 1
|
t-consume-food
|
||||||
t-try-pick-up-food
|
repeat speed [
|
||||||
t-try-drop-food
|
fd 1
|
||||||
|
t-try-pick-up-food
|
||||||
|
if t-try-drop-food [
|
||||||
|
t-resupply
|
||||||
|
]
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
to try-respawn-food-1
|
||||||
|
if ticks mod food-r-1 = food-o-1 [
|
||||||
|
add-food-1
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
to try-respawn-food-2
|
||||||
|
if ticks mod food-r-2 = food-o-2 [
|
||||||
|
add-food-2
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
to try-respawn-food-3
|
||||||
|
if ticks mod food-r-3 = food-o-3 [
|
||||||
|
add-food-3
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
to try-respawn-food
|
||||||
|
try-respawn-food-1
|
||||||
|
try-respawn-food-2
|
||||||
|
try-respawn-food-3
|
||||||
end
|
end
|
||||||
|
|
||||||
to go
|
to go
|
||||||
tick
|
tick
|
||||||
|
try-respawn-food
|
||||||
|
respawn-ants
|
||||||
ask ants [t-work]
|
ask ants [t-work]
|
||||||
ask patches [p-evaporate-pheromone]
|
ask patches [p-evaporate-pheromone]
|
||||||
diffuse pheromone (diffusion-pct / 100)
|
diffuse pheromone (diffusion-pct / 100)
|
||||||
|
@ -291,9 +371,9 @@ nest-color
|
||||||
Color
|
Color
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
1015
|
1125
|
||||||
155
|
155
|
||||||
1100
|
1210
|
||||||
215
|
215
|
||||||
food-color
|
food-color
|
||||||
43.0
|
43.0
|
||||||
|
@ -414,9 +494,9 @@ HORIZONTAL
|
||||||
|
|
||||||
TEXTBOX
|
TEXTBOX
|
||||||
760
|
760
|
||||||
465
|
380
|
||||||
910
|
910
|
||||||
483
|
398
|
||||||
NIL
|
NIL
|
||||||
11
|
11
|
||||||
0.0
|
0.0
|
||||||
|
@ -424,14 +504,14 @@ NIL
|
||||||
|
|
||||||
SLIDER
|
SLIDER
|
||||||
730
|
730
|
||||||
435
|
350
|
||||||
902
|
902
|
||||||
468
|
383
|
||||||
diffusion-pct
|
diffusion-pct
|
||||||
diffusion-pct
|
diffusion-pct
|
||||||
0
|
0
|
||||||
100
|
100
|
||||||
52.0
|
57.0
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
%
|
%
|
||||||
|
@ -439,14 +519,14 @@ HORIZONTAL
|
||||||
|
|
||||||
SLIDER
|
SLIDER
|
||||||
730
|
730
|
||||||
470
|
385
|
||||||
902
|
902
|
||||||
503
|
418
|
||||||
evaporation-pct
|
evaporation-pct
|
||||||
evaporation-pct
|
evaporation-pct
|
||||||
0
|
0
|
||||||
100
|
100
|
||||||
10.0
|
20.0
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
%
|
%
|
||||||
|
@ -487,21 +567,21 @@ NIL
|
||||||
1
|
1
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
905
|
730
|
||||||
350
|
425
|
||||||
1010
|
835
|
||||||
410
|
485
|
||||||
ants-qty
|
ants-qty
|
||||||
1000.0
|
100.0
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
Number
|
Number
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
1015
|
840
|
||||||
350
|
425
|
||||||
1100
|
925
|
||||||
410
|
485
|
||||||
ant-color
|
ant-color
|
||||||
15.0
|
15.0
|
||||||
1
|
1
|
||||||
|
@ -509,10 +589,10 @@ ant-color
|
||||||
Color
|
Color
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
1105
|
930
|
||||||
350
|
425
|
||||||
1190
|
1015
|
||||||
410
|
485
|
||||||
ant-carrying-color
|
ant-carrying-color
|
||||||
18.0
|
18.0
|
||||||
1
|
1
|
||||||
|
@ -520,10 +600,10 @@ ant-carrying-color
|
||||||
Color
|
Color
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
1105
|
905
|
||||||
415
|
350
|
||||||
1205
|
955
|
||||||
475
|
410
|
||||||
pheromone-min
|
pheromone-min
|
||||||
0.1
|
0.1
|
||||||
1
|
1
|
||||||
|
@ -531,10 +611,10 @@ pheromone-min
|
||||||
Number
|
Number
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
1105
|
960
|
||||||
480
|
350
|
||||||
1205
|
1010
|
||||||
540
|
410
|
||||||
pheromone-max
|
pheromone-max
|
||||||
5.0
|
5.0
|
||||||
1
|
1
|
||||||
|
@ -543,9 +623,9 @@ Number
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
1015
|
1015
|
||||||
415
|
350
|
||||||
1100
|
1100
|
||||||
475
|
410
|
||||||
pheromone-color
|
pheromone-color
|
||||||
65.0
|
65.0
|
||||||
1
|
1
|
||||||
|
@ -553,10 +633,10 @@ pheromone-color
|
||||||
Color
|
Color
|
||||||
|
|
||||||
PLOT
|
PLOT
|
||||||
735
|
1215
|
||||||
575
|
90
|
||||||
935
|
1415
|
||||||
725
|
240
|
||||||
Ants with food
|
Ants with food
|
||||||
Ticks
|
Ticks
|
||||||
Ants
|
Ants
|
||||||
|
@ -571,10 +651,10 @@ PENS
|
||||||
"with-food" 1.0 0 -1069655 true "" "plot count ants with [carrying-food = 1]"
|
"with-food" 1.0 0 -1069655 true "" "plot count ants with [carrying-food = 1]"
|
||||||
|
|
||||||
PLOT
|
PLOT
|
||||||
940
|
1215
|
||||||
575
|
245
|
||||||
1140
|
1415
|
||||||
725
|
395
|
||||||
Patches with food
|
Patches with food
|
||||||
Ticks
|
Ticks
|
||||||
Patches
|
Patches
|
||||||
|
@ -588,16 +668,6 @@ false
|
||||||
PENS
|
PENS
|
||||||
"default" 1.0 0 -7171555 true "" "plot count patches with [food = 1]"
|
"default" 1.0 0 -7171555 true "" "plot count patches with [food = 1]"
|
||||||
|
|
||||||
TEXTBOX
|
|
||||||
865
|
|
||||||
10
|
|
||||||
1380
|
|
||||||
76
|
|
||||||
TODO: nuovi grafici e aggiunte belline!
|
|
||||||
11
|
|
||||||
0.0
|
|
||||||
1
|
|
||||||
|
|
||||||
SWITCH
|
SWITCH
|
||||||
360
|
360
|
||||||
735
|
735
|
||||||
|
@ -665,16 +735,286 @@ show-distance
|
||||||
-1000
|
-1000
|
||||||
|
|
||||||
INPUTBOX
|
INPUTBOX
|
||||||
905
|
730
|
||||||
415
|
490
|
||||||
1010
|
800
|
||||||
475
|
550
|
||||||
random-angle
|
random-angle
|
||||||
45.0
|
45.0
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
Number
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
880
|
||||||
|
490
|
||||||
|
950
|
||||||
|
550
|
||||||
|
max-speed
|
||||||
|
2.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1030
|
||||||
|
490
|
||||||
|
1100
|
||||||
|
550
|
||||||
|
max-metabolism
|
||||||
|
5.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
805
|
||||||
|
490
|
||||||
|
875
|
||||||
|
550
|
||||||
|
min-speed
|
||||||
|
1.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
955
|
||||||
|
490
|
||||||
|
1025
|
||||||
|
550
|
||||||
|
min-metabolism
|
||||||
|
1.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1105
|
||||||
|
490
|
||||||
|
1175
|
||||||
|
550
|
||||||
|
max-hunger
|
||||||
|
400.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1015
|
||||||
|
155
|
||||||
|
1065
|
||||||
|
215
|
||||||
|
food-r-1
|
||||||
|
210.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1070
|
||||||
|
155
|
||||||
|
1120
|
||||||
|
215
|
||||||
|
food-o-1
|
||||||
|
0.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1015
|
||||||
|
220
|
||||||
|
1065
|
||||||
|
280
|
||||||
|
food-r-2
|
||||||
|
210.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1070
|
||||||
|
220
|
||||||
|
1120
|
||||||
|
280
|
||||||
|
food-o-2
|
||||||
|
70.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1015
|
||||||
|
285
|
||||||
|
1065
|
||||||
|
345
|
||||||
|
food-r-3
|
||||||
|
210.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
INPUTBOX
|
||||||
|
1070
|
||||||
|
285
|
||||||
|
1120
|
||||||
|
345
|
||||||
|
food-o-3
|
||||||
|
140.0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
Number
|
||||||
|
|
||||||
|
PLOT
|
||||||
|
1215
|
||||||
|
400
|
||||||
|
1415
|
||||||
|
550
|
||||||
|
Ant deaths
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
0.0
|
||||||
|
10.0
|
||||||
|
0.0
|
||||||
|
10.0
|
||||||
|
true
|
||||||
|
false
|
||||||
|
"" ""
|
||||||
|
PENS
|
||||||
|
"default" 1.0 0 -16777216 true "" "plot ant-deaths"
|
||||||
|
|
||||||
|
PLOT
|
||||||
|
1420
|
||||||
|
90
|
||||||
|
1620
|
||||||
|
240
|
||||||
|
Ant speeds
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
1.0
|
||||||
|
3.0
|
||||||
|
0.0
|
||||||
|
10.0
|
||||||
|
true
|
||||||
|
false
|
||||||
|
"" ""
|
||||||
|
PENS
|
||||||
|
"default" 1.0 1 -13791810 true "" "histogram [speed] of ants"
|
||||||
|
|
||||||
|
PLOT
|
||||||
|
1420
|
||||||
|
295
|
||||||
|
1620
|
||||||
|
445
|
||||||
|
Ant metabolisms
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
1.0
|
||||||
|
6.0
|
||||||
|
0.0
|
||||||
|
10.0
|
||||||
|
true
|
||||||
|
false
|
||||||
|
"" ""
|
||||||
|
PENS
|
||||||
|
"default" 1.0 1 -6459832 true "" "histogram [metabolism] of turtles"
|
||||||
|
|
||||||
|
MONITOR
|
||||||
|
1530
|
||||||
|
450
|
||||||
|
1580
|
||||||
|
495
|
||||||
|
M 3
|
||||||
|
count ants with [metabolism = 3]
|
||||||
|
0
|
||||||
|
1
|
||||||
|
11
|
||||||
|
|
||||||
|
MONITOR
|
||||||
|
1475
|
||||||
|
450
|
||||||
|
1525
|
||||||
|
495
|
||||||
|
M 2
|
||||||
|
count ants with [metabolism = 2]
|
||||||
|
0
|
||||||
|
1
|
||||||
|
11
|
||||||
|
|
||||||
|
MONITOR
|
||||||
|
1420
|
||||||
|
450
|
||||||
|
1470
|
||||||
|
495
|
||||||
|
M 1
|
||||||
|
count ants with [metabolism = 1]
|
||||||
|
0
|
||||||
|
1
|
||||||
|
11
|
||||||
|
|
||||||
|
MONITOR
|
||||||
|
1585
|
||||||
|
450
|
||||||
|
1635
|
||||||
|
495
|
||||||
|
M 4
|
||||||
|
count ants with [metabolism = 4]
|
||||||
|
0
|
||||||
|
1
|
||||||
|
11
|
||||||
|
|
||||||
|
MONITOR
|
||||||
|
1640
|
||||||
|
450
|
||||||
|
1690
|
||||||
|
495
|
||||||
|
M 5
|
||||||
|
count ants with [metabolism = 5]
|
||||||
|
17
|
||||||
|
1
|
||||||
|
11
|
||||||
|
|
||||||
|
MONITOR
|
||||||
|
1420
|
||||||
|
245
|
||||||
|
1515
|
||||||
|
290
|
||||||
|
Speed 1
|
||||||
|
count ants with [speed = 1]
|
||||||
|
17
|
||||||
|
1
|
||||||
|
11
|
||||||
|
|
||||||
|
MONITOR
|
||||||
|
1520
|
||||||
|
245
|
||||||
|
1615
|
||||||
|
290
|
||||||
|
Speed 2
|
||||||
|
count ants with [speed = 2]
|
||||||
|
0
|
||||||
|
1
|
||||||
|
11
|
||||||
|
|
||||||
|
PLOT
|
||||||
|
1625
|
||||||
|
90
|
||||||
|
1825
|
||||||
|
240
|
||||||
|
Ant hunger
|
||||||
|
NIL
|
||||||
|
NIL
|
||||||
|
0.0
|
||||||
|
400.0
|
||||||
|
0.0
|
||||||
|
10.0
|
||||||
|
true
|
||||||
|
false
|
||||||
|
"" ""
|
||||||
|
PENS
|
||||||
|
"default" 50.0 1 -5825686 true "" "histogram [hunger] of ants"
|
||||||
|
|
||||||
@#$#@#$#@
|
@#$#@#$#@
|
||||||
## WHAT IS IT?
|
## WHAT IS IT?
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue