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

質問 (解決済み)

[artisocモデル] サンプルのdangobusについて
質問者: shin59さん , 質問日時: 2019/11/18 16:13
前回の質問の続きになるのですが,バスの車線変更を任意の場所で行いたいと考えコードを作成したのですがうまく動作しなかったのでご意見を聞かせてください.

BUSの中の車の移動270のコードの中の移動の部分に
if my.Y== 70 then
my.移動先X=my.X+1
end if

if my.y==20 then
my.移動先X=my.X-1
end if

を追加してバスの車線変更ができると考えたのですが,うまく動作しなかったです
コードを書くのが苦手なので初歩的なミスをしているかもしれませんが回答してくださると嬉しいです



▼解決した回答


意図としては、Y軸方向に車が動いているとき、Y座標が70のときや20のときに車線変更をしたいということでしょうか?
ルールの中身を詳しく見ることができていないのですが、車の速度が実数値をとるとすると、Y座標がぴったり70や20にならない可能性があります。
(Y座標があるステップで68.8で、次のステップで72.2になる、など)

なのでたとえば条件文に少し幅を持たせて、
if 70 < my.Y and my.Y < 71 and my.車線変更済 == False then
my.移動先X=my.X+1
my.車線変更済 == True
end if
などとするといいかもしれません。

なにか勘違いしていましたらすみません。

回答者: tomo12 さん , 回答日時: 2019/11/19 14:00

▼ 全ての回答


意図としては、Y軸方向に車が動いているとき、Y座標が70のときや20のときに車線変更をしたいということでしょうか?
ルールの中身を詳しく見ることができていないのですが、車の速度が実数値をとるとすると、Y座標がぴったり70や20にならない可能性があります。
(Y座標があるステップで68.8で、次のステップで72.2になる、など)

なのでたとえば条件文に少し幅を持たせて、
if 70 < my.Y and my.Y < 71 and my.車線変更済 == False then
my.移動先X=my.X+1
my.車線変更済 == True
end if
などとするといいかもしれません。

なにか勘違いしていましたらすみません。

回答者: tomo12 さん , 回答日時: 2019/11/19 14:00



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