1

自分の周りを見回しているカメが何匹かいます。取得した各ネイバーについて、「output-heat」の値を保存します。値が最も高いパッチは確率が最も高く、値が最も低いパッチは確率が最も低くなります。タートルを別のパッチに移動させたい。移動は確率に依存する必要があります。

私のコードは次のようになりますが、本来のようには機能しません。

ask turtles-here[

 let temp_ahead [(output-heat + 1)^ Freedom] of patch-at 0 1
 let temp_right_ahead [(output-heat + 1)^ Freedom] of patch-at 1 1
 let temp_right [(output-heat + 1)^ Freedom] of patch-at 1 0
 let temp_right_back [(output-heat + 1)^ Freedom] of patch-at 1 -1
 let temp_back [(output-heat + 1)^ Freedom] of patch-at 0 -1
 let temp_left_back [(output-heat + 1)^ Freedom] of patch-at -1 -1
 let temp_left [(output-heat + 1)^ Freedom] of patch-at -1 0
 let temp_left_ahead [(output-heat + 1)^ Freedom] of patch-at -1 1  





set temp_ahead_kumulativ  temp_ahead 
set temp_right_ahead_kumulativ  (temp_ahead_kumulativ + temp_right_ahead)
set temp_right_kumulativ  (temp_right_ahead_kumulativ + temp_right)
set temp_right_back_kumulativ (temp_right_kumulativ + temp_right_back)
set temp_back_kumulativ  (temp_right_back_kumulativ + temp_back)
set temp_left_back_kumulativ  (temp_back_kumulativ + temp_left_back)
set temp_left_kumulativ  (temp_left_back_kumulativ + temp_left)
set temp_left_ahead_kumulativ  (temp_left_kumulativ + temp_left_ahead)

set propability_number (random-float (temp_left_ahead_kumulativ))

 if propability_number < temp_ahead_kumulativ [right 0]
 if propability_number < temp_right_ahead [right 45]
 if propability_number < temp_right_kumulativ [right 90]
 if propability_number < temp_right_back_kumulativ [right 135]
 if propability_number < temp_back_kumulativ [right 180]
 if propability_number < temp_left_back_kumulativ [left 135]
 if propability_number < temp_left_kumulativ [left 90]
 if propability_number < temp_left_ahead_kumulativ [left 45]

 ]
4

1 に答える 1