複雑系コンサルティング
前方180度だけ扇形の探索をしたいのですがプログラムがうまく動きません。
このコードを完全に読み解くことは出来ませんでしたが、仕様通りのコードを描くことは出来ました。
前回360°付近の話をしましたが場合分けをする必要はありませんでした。
Agt_Init{my.X = rnd()*50 my.Y = rnd() *50 my.Direction = rnd() *360}//初期配置 Agt_Step{ //変数宣言 dim agtset_ as agtset dim agt_ as agt dim direction_ as double //変数初期化 clearagtset(my._agtset_) //円形 MakeOneAgtSetAroundOwn(agtset_, 5, universe.field.subject, False) //扇形 for each agt_ in agtset_ //自身の向く角度とagtとの角度を求める -180°<=180°を取る模様 direction_ = my.Direction - GetDirection(my.X, my.Y, agt_.X, agt_.Y, universe.field) /*=-180~180*/ if -90 <= direction_ and direction_ <= 90 then //左右を判別するなら-90<0,0<90とすればいいかと addagt(my._agtset_, agt_) end if next agt_ }
参考にコード書き直してみます!遅い時間にわざわざコードまでありがとうございました。
問題が多いように見えるので1点だけ直せば仕様通り動くという訳ではないとは思われますが、
& は文字列を連結する演算子です。and ではないでしょうか。
恐らくここを直せば動きはするかと思います
回答ありがとうございます!andに変えたらエラーメッセージは無くなりました。
たしかにエラーメッセージ無くなりましたが仕様通りには動いてくれませんでした。
このコードを完全に読み解くことは出来ませんでしたが、仕様通りのコードを描くことは出来ました。
前回360°付近の話をしましたが場合分けをする必要はありませんでした。
Agt_Init{my.X = rnd()*50 my.Y = rnd() *50 my.Direction = rnd() *360}//初期配置 Agt_Step{ //変数宣言 dim agtset_ as agtset dim agt_ as agt dim direction_ as double //変数初期化 clearagtset(my._agtset_) //円形 MakeOneAgtSetAroundOwn(agtset_, 5, universe.field.subject, False) //扇形 for each agt_ in agtset_ //自身の向く角度とagtとの角度を求める -180°<=180°を取る模様 direction_ = my.Direction - GetDirection(my.X, my.Y, agt_.X, agt_.Y, universe.field) /*=-180~180*/ if -90 <= direction_ and direction_ <= 90 then //左右を判別するなら-90<0,0<90とすればいいかと addagt(my._agtset_, agt_) end if next agt_ }
問題が多いように見えるので1点だけ直せば仕様通り動くという訳ではないとは思われますが、
& は文字列を連結する演算子です。and ではないでしょうか。
恐らくここを直せば動きはするかと思います