改变自己的颜色

Changing the color of myself

我有以下代码,我要求一些特工去死:

breed [ readers reader ]
breed [ pallets pallet ]
breed [ trucks truck ]

readers-own [ 
  truck-being-served 
  pallet-being-served ]

to complete-service [ ?reader ]
  ask ?reader [
      ask pallet-being-served [ die ]
      set pallet-being-served nobody
      ask truck-being-served [
        if not any? pallets-in-truck [ 
          ask self [ die ]
          ask myself [
            set truck-being-served nobody
            set color green
            set next-completion-time 0
          ]
        ]
      ]
  ] 
end

其中 pallet-being-servedtruck-being-served 是托盘和卡车代理。 问题是内部 ask myself [... 似乎不起作用,因为 ?reader 代理的颜色没有变为绿色。在这里我不确定我指的是 ?reader 还是我刚刚杀死的 truck-being-served 特工。我想将颜色更改为绿色。 ask myself [ ... 是指 reader 代理吗?

此致。

请死龟做事没有效果。另外,请提供一个最小的可运行示例来说明您的问题。

globals [next-completion-time]
breed [ readers reader ]
breed [ pallets pallet ]
breed [ trucks truck ]

readers-own [ 
  truck-being-served 
  pallet-being-served ]

trucks-own [pallets-in-truck]

to setup
  ca
  create-readers 1
  create-trucks 1
  create-pallets 1
  ask reader 0 [set truck-being-served truck 1]
  ask truck 1 [set pallets-in-truck pallets]
  ask reader 0 [set pallet-being-served one-of [pallets-in-truck] of truck 1]
end

to complete-service ;reader proc
  ask pallet-being-served [ die ]
  ask truck-being-served [
    if not any? pallets-in-truck [  
      ask myself [
        set color green
        set next-completion-time 0
      ]
      die
    ]
  ]
end

to test
  setup
  ask reader 0 [complete-service]
end