kinugasa.field
クラス Vehicle

java.lang.Object
  上位を拡張 kinugasa.field.Vehicle
すべての実装されたインタフェース:
java.io.Serializable, Nameable

public class Vehicle
extends java.lang.Object
implements Nameable, java.io.Serializable

"移動手段"または"乗り物"クラスは、マップチップに対する移動の可否を判定します.
移動手段は「移動可能なチップ属性」を持ちます。
マップ上でキャラクタが移動しようとすると、次に乗るマップチップの持つ 属性と、現在の移動手段(VehicleStorage.currentVehicle)の検査が行われます。

移動手段は、その移動手段自体の移動速度を持ちます。
マップのスクロール速度は、「マップ自体の移動速度×移動手段の移動速度」が使用されます。

バージョン:
1.0.0 - 2013/04/28_21:43:17
作成者:
Dra0211
関連項目:
直列化された形式

フィールドの概要
private  Storage<ChipAttribute> attributeStorage
          この移動手段が移動できる属性です.
private  java.lang.String name
          移動手段の一意的な名前です.
private static long serialVersionUID
           
private  float speed
          この移動手段がマップをスクロールさせる速度です.
 
コンストラクタの概要
Vehicle(java.lang.String name, float speed, ChipAttribute... attributeSet)
          新しい移動手段を作成します.
Vehicle(java.lang.String name, float speed, java.util.Collection<ChipAttribute> attributeSet)
          新しい移動手段を作成します.
 
メソッドの概要
private  void addThis()
          thisインスタンスをVehicleStorageに追加します.
 boolean equals(java.lang.Object obj)
           
 Storage<ChipAttribute> getAttributeStorage()
          この移動手段が持つ移動可能な属性が格納されたストレージを取得します.
 java.lang.String getName()
          このインスタンスの一意的な名前を取得します.
 float getSpeed()
          移動手段の移動速度を取得します.
 int hashCode()
           
 void setSpeed(float speed)
          移動手段の移動速度を設定します.
 boolean stepOn(ChipAttribute attribute)
          この移動手段が指定されたチップ属性に移動可能であるかを検査します.
 java.lang.String toString()
           
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

serialVersionUID

private static final long serialVersionUID
関連項目:
定数フィールド値

name

private java.lang.String name
移動手段の一意的な名前です.


speed

private float speed
この移動手段がマップをスクロールさせる速度です. 移動速度は「マップ自体の移動速度×移動手段の移動速度」が使用されます。


attributeStorage

private Storage<ChipAttribute> attributeStorage
この移動手段が移動できる属性です.

コンストラクタの詳細

Vehicle

public Vehicle(java.lang.String name,
               float speed,
               ChipAttribute... attributeSet)
        throws DuplicateNameException
新しい移動手段を作成します. 作成された移動手段は、自動的にVehicleStorageに追加されます。

パラメータ:
name - 移動手段の一意的な名前を指定します。
speed - 移動手段の移動速度を指定します。1.0fを指定すると、 マップに設定された移動速度で移動します。
attributeSet - この移動手段が移動できるチップ属性を送信します。
例外:
DuplicateNameException - この移動手段の名前がすでに使用されているときに 投げられます。

Vehicle

public Vehicle(java.lang.String name,
               float speed,
               java.util.Collection<ChipAttribute> attributeSet)
        throws DuplicateNameException
新しい移動手段を作成します. 作成された移動手段は、自動的にVehicleStorageに追加されます。

パラメータ:
name - 移動手段の一意的な名前を指定します。
speed - 移動手段の移動速度を指定します。1.0fを指定すると、 マップに設定された移動速度で移動します。
attributeSet - この移動手段が移動できるチップ属性を送信します。
例外:
DuplicateNameException - この移動手段の名前がすでに使用されているときに 投げられます。
メソッドの詳細

addThis

private void addThis()
thisインスタンスをVehicleStorageに追加します.


getName

public java.lang.String getName()
インタフェース Nameable の記述:
このインスタンスの一意的な名前を取得します. 名前はゲームの実行中変更されてはなりません。

定義:
インタフェース Nameable 内の getName
戻り値:
このインスタンスを識別できる一意的な名前を返します。名前はユーザやプレイヤーが指定する可能性があるため 意味のある文字列を推奨します。

getSpeed

public float getSpeed()
移動手段の移動速度を取得します.

戻り値:
移動速度を返します。

setSpeed

public void setSpeed(float speed)
移動手段の移動速度を設定します.

パラメータ:
speed - 移動速度を指定します。

getAttributeStorage

public Storage<ChipAttribute> getAttributeStorage()
この移動手段が持つ移動可能な属性が格納されたストレージを取得します.

戻り値:
移動可能な属性が格納されたストレージを返します。 "VOID"は追加されていません。

stepOn

public boolean stepOn(ChipAttribute attribute)
この移動手段が指定されたチップ属性に移動可能であるかを検査します. 次の手順で検査されます。
  1. CLOSEおよびVOIDの検査

  2. 送信されたチップ属性が、"VOID"の場合、必ずtrueを返します。
    また、送信されたチップ属性が、"CLOSE"の場合、必ずfalseを返します。

  3. 移動可否判定

  4. この移動手段が持つ移動可能な属性が保管されたストレージに 送信された属性と同じ名前を持つインスタンスが存在する場合、trueを返します。

パラメータ:
attribute - キャラクタが次に乗るチップの属性を送信します。
戻り値:
この移動手段がattributeに移動できる場合はtrue、移動できない場合はfalseを返します。

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString

hashCode

public int hashCode()
オーバーライド:
クラス java.lang.Object 内の hashCode

equals

public boolean equals(java.lang.Object obj)
オーバーライド:
クラス java.lang.Object 内の equals