CoffeeScript – geom2d.MovingAgentクラス

パッケージ

taustation_geom2d

クラス名

taustation_geom2d.MovingAgent

クラス仕様

概要

自分の位置を表すVectorオブジェクトと移動速度を表すVectorオブジェクトを要素に持ち、他のMovingAgentとの位置関係を判定するメソッドを準備している。

なお、Vectorクラスには、Vectorを位置ベクトルとしたときに、その点とMovingAgentとの位置関係を表すメソッドが用意されている。

クラス変数

なし

クラス・メソッド

なし

インスタンス・プロパティ

pos
自らの位置を保持するVectorオブジェクト
v
自らの移動速度を保持するVectorオブジェクト

コンストラクタ

constructor()
位置(0, 0)、速度(0, 0)のMovingAgentインスタンスを生成する。

インスタンス・メソッド

基本メソッド

setPosition(x, y)
MovingAgentの位置をx、yの座標値で指定する。
setVelocity(vx, vy)
MovingAgentの速度をvx、vyの成分で指定する。
getClone()
元のMovingAgentオブジェクトと同じ内容のクローンを生成して返す。

判定

isInFrontOf(other)
このMovingAgentオブジェクトが引数のMovingAgentオブジェクトの前方(左右180度より進行方向の側)にあるときtrue、後方にあるときfalseを返す。真横の時は前方と判定される。
isIntheRearOf(other)
isInFrontOf()と前後逆の判定結果を返す。
isOnTheRightOf(other)
このMovingAgentオブジェクトが引数のMovingAgentオブジェクトの右方にあるときtrue、左方にあるときfalseを返す。進行方向の延長線上にあるときは右方と判定される。
isOnTheLeftOf(movingAgent)
isOnTheRightOf()と左右逆の判定結果を返す。

コード

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です