如何解决农民需要在NetLogo中离散时间/滴答之后更改值
我正在编写一个模型,使农民季节性地更新利润并相应地种植农作物。一年中总共有630个滴答声。有两个季节。第一季将需要252滴答来完成一个作物周期。而其他季节将需要接下来的378滴答声才能完成一个作物周期。对于两个季节,农民将计算其利润。最初是252个滴答声之后,然后重置一些变量以开始下一个季节,并计算下一个378滴答声的利润。这将同时进行并持续10年或更长时间。有没有人可以帮助您编写代码。
给出以下代码。
问题:Ticks mod命令将为每个季节计算过多或不足计算利润。我想计算第1季的利润从0到252滴答,第2季的利润从253滴答到630。然后再计算第1季的利润从631到882,再从sesson2直到1260滴答。这将继续。
breed [farmers farmer]
farmers-own [water irrigation-turn]
to setup
clear-all
create-farmers 5
[ set label who
set size 2
]
ask farmer 0 [ setxy min-pxcor + 1 0 set irrigation-turn 0]
ask farmer 1 [ setxy min-pxcor + 1 2 set irrigation-turn 1]
ask farmer 2 [ setxy min-pxcor + 1 4 set irrigation-turn 2]
ask farmer 3 [ setxy min-pxcor + 3 0 set irrigation-turn 3]
ask farmer 4[ setxy min-pxcor + 3 2 set irrigation-turn 4]
ask farmers [ set label who
set size 2]
reset-ticks
end
to go
irrigate
update-profits
tick
end
to irrigate
ask turtles with [irrigation-turn = (ticks mod count farmers)]
[ set color red]
ask turtles with [ irrigation-turn != (ticks mod count farmers)]
[set color blue]
end
to update-profits
if ticks mod 630 = 252 [set-season1profit]
if ticks mod 630 = 378 [ set-season2profits]
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。