1

タートルを特定の正方形の位置に配置したいと考えています。以下のコードが機能しないのはなぜですか? Netlogoはそれを受け入れますが、「タートル変数XCORを数値以外のfalseに設定できません」と言ってコンパイルしません。かなり単純なはずですが、多少回避できません。

crt 50
[
  set size 2

  set xcor xcor >= 81 and xcor <= 90 ;set initial location 
  set ycor ycor >= 81 and ycor <= 90 ;of turtles
  set start-patch patch-here
  pen-down
]  
4

1 に答える 1

4

エラー メッセージはほとんどすべてを示しています:set xcor数値に評価される式が後に続く必要があります。ただし、コードでは、set xcorブール式 (つまり、trueorに評価されるものfalse):が続きますxcor >= 81 and xcor <= 90

つまり、「81から90の間の数字を教えてください」という意味でxcor >= 81 and xcor <= 90なく、 「xcorは81から90の間ですか?」という意味の質問です。set xcorNetLogo は、この質問に対する答えを知りません。

NetLogo で特定の範囲の数値を取得したい場合は、通常、このrandom関数を使用する必要があります。あなたの場合、次のように簡単に実行できます。

set xcor 81 + random 10
set ycor 81 + random 10

random整数のみが得られることに注意してください。タートルを非整数座標にしたい場合は、random-float代わりに を使用できます。

于 2013-09-20T12:40:41.063 に答える