Académique Documents
Professionnel Documents
Culture Documents
Mean
Median
94.2
95
102.8
102.5
Mean
Median
120.8
151.5
75.1
76
86.9
97
Mean
Median
143.7
79.5
144.8
114.5
102
100
100
0
101
100
101
101
101
100
Breeding
42
45
39
0
46
38
44
30
43
47
90.6
100.5
37.4
42.5
162.2
133
133.8
107.5
0
95
97
97
95
95
96
96
95
95
86.1
95
101.1
101
42
42.5
Code Appendix
globals [forfight forsurvive chance formove averagesurvive averagebreed averagefight averagemovement]
breed [wolves wolf]
breed [sheeps sheep]
wolves-own [wenergy fight movement]
sheeps-own [energy breeding survive]
to setup
clear-all
setup-patches
setup-wolves
setup-sheeps
reset-ticks
end
to go
if ticks >= 500 [ stop ]
move-wolves
move-sheeps
eat-grass
check-sheep-death
check-wolf-death
reproduce-sheep
regrow-grass
tick
end
to setup-patches
ask patches [set pcolor green]
end
to setup-wolves
create-wolves 10[setxy random-xcor random-ycor set color red set wenergy 50 set fight 95 set movement 1]
end
to setup-sheeps
create-sheeps 20[setxy random-xcor random-ycor set color blue set energy 20 set breeding 50 set survive
100]
end
to move-wolves
ask wolves
[
ifelse random 2 = 1
[
right random 60
]
[
left random 60
]
forward movement
set wenergy wenergy - (movement + 1)
if count other turtles-here with [color = blue] = 1
[
ask other turtles-here with [color = blue]
[
set forsurvive survive
]
set forfight fight
set chance forsurvive - forfight
if random 100 > chance
[
ask other turtles-here with [color = blue]
[
set energy 0
]
if random(100) < 2
[
ifelse random 2 = 1
[
set fight fight + 1
]
[
set movement movement + 1
]
]
set wenergy wenergy + 10
hatch 1
]
]
]
end
to move-sheeps
ask sheeps
[
end
to regrow-grass
ask patches
[
if random 100 < 3 [ set pcolor green ]
]
end
to check-sheep-death
ask sheeps
[
if energy <= 0 [die]
]
end
to check-wolf-death
ask wolves
[
if wenergy <= 0 [die]
]
end
to print-wolves
set averagefight 0
set averagemovement 0
ask wolves
[
set averagefight averagefight + fight
set averagemovement averagemovement + movement
]
set averagefight averagefight / count wolves
set averagemovement averagemovement / count wolves
print (sentence averagefight averagemovement)
end
to print-sheeps
set averagesurvive 0
set averagebreed 0
ask sheeps
[
set averagesurvive averagesurvive + survive
set averagebreed averagebreed + breeding
]
set averagesurvive averagesurvive / count sheeps
set averagebreed averagebreed / count sheeps
print (sentence averagesurvive averagebreed)
end