MAS コミュニティ
artisoc質問用掲示板(アーカイブ)
  
質問掲示板は移転しました。新掲示板はこちら

質問 (解決済み)

[artisocモデル] 02. 描画ツールを使って道路を作成し、歩くモデルをつくろう
質問者: ゆきさん , 質問日時: 2020/07/24 13:31
P9のpursue関数の戻り値distanceについてよく分かりません。

If distance > 0 Then が目的地に到着した時の処理で、

distance < 0 が目的地に到着していないときの処理となる理由が分かりません。


分かります方教えてください。お願いします。



▼解決した回答


artisocのヘルプ画面でpursue関数を調べてみると、戻り値が「終了値 (正常終了時は-1、進めなかったときは進めなかった距離)」となっています。
これはforward関数の戻り値と同じ解釈で、
正常終了 → 引数で与えられた距離進めた場合
進めなかったとき → 引数で与えられた距離進む前に目的地に到着してしまい、与えられた距離進むことができなかった場合
と考えられます。
つまり、目的地に到着しなかった場合に-1を返し、目的地に到着した場合に0以上(進めずに余った距離)を返します。

よって、distance > 0 が目的地に到着した時の処理で、distance < 0 が目的地に到着していないときの処理になります。

戻り値が何を表しているのかわからないときは一度簡単なモデルをつくり、print関数でコンソールに出力してみるとよいです。

回答者: kotone_4 さん , 回答日時: 2020/08/06 17:29

▼ 全ての回答


artisocのヘルプ画面でpursue関数を調べてみると、戻り値が「終了値 (正常終了時は-1、進めなかったときは進めなかった距離)」となっています。
これはforward関数の戻り値と同じ解釈で、
正常終了 → 引数で与えられた距離進めた場合
進めなかったとき → 引数で与えられた距離進む前に目的地に到着してしまい、与えられた距離進むことができなかった場合
と考えられます。
つまり、目的地に到着しなかった場合に-1を返し、目的地に到着した場合に0以上(進めずに余った距離)を返します。

よって、distance > 0 が目的地に到着した時の処理で、distance < 0 が目的地に到着していないときの処理になります。

戻り値が何を表しているのかわからないときは一度簡単なモデルをつくり、print関数でコンソールに出力してみるとよいです。

回答者: kotone_4 さん , 回答日時: 2020/08/06 17:29



Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
( 会社情報 情報セキュリティ・個人情報について )