Netlogo:[代码]要求您后面的补丁更改颜色
我正在尝试创建一个游戏,我想做的是让乌龟后面的补丁在乌龟吃水果时改变颜色。所以海龟会移动并吃水果。吃了一个水果后,它后面的补丁会改变颜色,但这种颜色会随着海龟的移动而移动,从而产生海龟长度/大小增加的效果 现在,我尝试使用代码:Netlogo:[代码]要求您后面的补丁更改颜色,netlogo,agent-based-modeling,Netlogo,Agent Based Modeling,我正在尝试创建一个游戏,我想做的是让乌龟后面的补丁在乌龟吃水果时改变颜色。所以海龟会移动并吃水果。吃了一个水果后,它后面的补丁会改变颜色,但这种颜色会随着海龟的移动而移动,从而产生海龟长度/大小增加的效果 现在,我尝试使用代码: ask turtles [ if score = 10 [ ask patch-ahead -1 [ set pcolor yellow ] ] ] 问题是,当海龟继续移动时,整个路径会变成黄色,而不是当前位置后面的补丁。有没有代码可以解决这个
ask turtles
[ if score = 10
[ ask patch-ahead -1
[ set pcolor yellow
]
]
]
问题是,当海龟继续移动时,整个路径会变成黄色,而不是当前位置后面的补丁。有没有代码可以解决这个问题?另外,当它吃另一种水果时,我想要它后面的两块黄色补丁。那么我该如何编写代码呢?那么你想玩一个像蛇一样的游戏吗?你可以给补丁一个
内存
变量,这样他们就可以跟踪海龟经过补丁的时间。如果这个记忆值被蛇身的当前“大小”修改(基于它吃了多少水果),你可以让这些补丁保持更长的颜色。下面是一个简单的版本(没有控件,蛇只是随意移动):
patches-own[mem]
繁殖[蛇]
品种[水果]
蛇有自己的[尾巴]
设置
ca
创造蛇1[
将颜色设置为白色
定尾透镜1
面对一个邻居
在这里问帕奇[
设置我自己的颜色
]
]
创造水果30[
移动到其中一个补丁
定形“花”
]
重置滴答声
结束
外带
问蛇[
如果随机浮动1<0.05[
rt[90-90]中的一个
]
如果前面补丁的[P颜色]为1=白色[
邮票
死亡
]
移动到前补1
提前询问补丁-1[
设置我自己的颜色
设置我自己的mem[tail len]值+1
]
如果有的话?这里有水果吗[
在这里问水果[死]
设置尾部透镜尾部透镜+1
]
]
如果没有?蛇[
打印“蛇试图吃掉自己。”
停止
]
使用[mem>0]询问修补程序[
设置mem mem-1
如果mem=0[
设置彩色黑色
]
]
打上钩
结束
那么,你是在追求像蛇一样的游戏吗?你可以给补丁一个内存
变量,这样他们就可以跟踪海龟经过补丁的时间。如果这个记忆值被蛇身的当前“大小”修改(基于它吃了多少水果),你可以让这些补丁保持更长的颜色。下面是一个简单的版本(没有控件,蛇只是随意移动):
patches-own[mem]
繁殖[蛇]
品种[水果]
蛇有自己的[尾巴]
设置
ca
创造蛇1[
将颜色设置为白色
定尾透镜1
面对一个邻居
在这里问帕奇[
设置我自己的颜色
]
]
创造水果30[
移动到其中一个补丁
定形“花”
]
重置滴答声
结束
外带
问蛇[
如果随机浮动1<0.05[
rt[90-90]中的一个
]
如果前面补丁的[P颜色]为1=白色[
邮票
死亡
]
移动到前补1
提前询问补丁-1[
设置我自己的颜色
设置我自己的mem[tail len]值+1
]
如果有的话?这里有水果吗[
在这里问水果[死]
设置尾部透镜尾部透镜+1
]
]
如果没有?蛇[
打印“蛇试图吃掉自己。”
停止
]
使用[mem>0]询问修补程序[
设置mem mem-1
如果mem=0[
设置彩色黑色
]
]
打上钩
结束
请提供最小的可复制代码片段供其他人查看,以便提供帮助。那么您想让轨迹随海龟移动吗?也就是说,当海龟离开时,补丁会变回原来的颜色,而不是显示海龟的位置?是的!这就是我想要的。因此,如果乌龟吃了一个水果,它会有一条长度为1的小径,这条小径会随着它一起移动,这条小径将是它后面的黄色斑点。你能帮忙吗?非常感谢。请提供最小的可复制代码片段供其他人查看,以便有人能够提供帮助。因此,您希望轨迹随海龟移动吗?也就是说,当海龟离开时,补丁会变回原来的颜色,而不是显示海龟的位置?是的!这就是我想要的。因此,如果乌龟吃了一个水果,它会有一条长度为1的小径,这条小径会随着它一起移动,这条小径将是它后面的黄色斑点。你能帮忙吗?非常感谢。非常感谢你!!我想办法解决这个问题:)。你能帮我做这个吗?如果你能的话,我会非常感激的!非常感谢你!!我想办法解决这个问题:)。你能帮我做这个吗?如果你能的话,我会非常感激的!
patches-own [ mem ]
breed [ snakes snake ]
breed [ fruits fruit ]
snakes-own [ tail-len ]
to setup
ca
create-snakes 1 [
set color white
set tail-len 1
face one-of neighbors4
ask patch-here [
set pcolor [pcolor] of myself
]
]
create-fruits 30 [
move-to one-of patches
set shape "flower"
]
reset-ticks
end
to go
ask snakes [
if random-float 1 < 0.05 [
rt one-of [ 90 -90 ]
]
if [ pcolor ] of patch-ahead 1 = white [
stamp
die
]
move-to patch-ahead 1
ask patch-ahead -1 [
set pcolor [color] of myself
set mem [tail-len] of myself + 1
]
if any? fruits-here [
ask fruits-here [ die ]
set tail-len tail-len + 1
]
]
if not any? snakes [
print "The snake tried to eat itself."
stop
]
ask patches with [ mem > 0 ] [
set mem mem - 1
if mem = 0 [
set pcolor black
]
]
tick
end