2017-12-18 15 views
0

の色を変更します。 問題は内部のask myself [...が機能していないようですが、?readerエージェントの色が緑色に変わらないためです。ここで私がちょうど殺したエージェント?readerまたはtruck-being-servedに言及しているかわかりません。色を緑色に変更したいと思います。 ask myself [ ...は読者エージェントを参照していますか?は、私は死ぬために、いくつかのエージェントを尋ねる次のコードを持って自分

よろしくお願いいたします。

+0

おそらくあなたが言いたいカメ(おそらく 'self'ステートメント)を参照しているかわからない場合、これをデバッグする最も簡単な方法は、' ask self'コードブロックで 'print'ステートメントを使うことです。 – JenB

+0

'ask self'はNetLogoに書き込むのに妥当なものではありません。 _always_は 'foo'だけで' self [foo] 'を置き換えることができます、彼らは常にまったく同じことを意味します。 –

答えて

2

死んだカメに何かをするように求めることは効果がありません。また、問題を示す最小限の実行可能な例を提供してください。

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 
+0

ありがとうございます。私はそれが私の誤りだと思う。私は自分自身に尋ねると、おそらく私は 'トラックを提供している 'と言います。私は読者のエージェントの色を変更したいと思いますが、 'ask truck-being-served [...']の中にあります。二度と見た後、私はあなたの解決策を理解していると思います。本当にありがとうございます、あなたは正しいです。 – pablo

関連する問題