jp.ac.fun.osawalab.tileworld.rule
クラス Rule

java.lang.Object
  上位を拡張 jp.ac.fun.osawalab.tileworld.rule.Rule
直系の既知のサブクラス:
SimpleTileWorldRule, TileWorldRule

public abstract class Rule
extends Object

Ruleは、Tileworldのルールを表す抽象クラスです。

作成者:
高山 貴裕(公立はこだて未来大学 システム情報科学研究科 大沢研究室)

メソッドの概要
protected  void changeHoles()
          ランダムで穴に変化を加えます。
protected  void changeObstacles()
          ランダムに障害物に変化を加えます。
abstract  Unit[][] getInitialUnits(char[][] template)
          初期盤面を生成し、返します。
static Rule getInstance()
          ルールのインスタンスを返します。
abstract  void next(Agents movingAgents)
          移動するエージェントの集合をもとに、次の時刻の盤面を返します。
abstract  Unit onHole(Unit unit, Hole hole)
          ユニットが、穴の上にのった時に適切に処理を行い、 その穴のあった位置にセットするユニットを返します。
protected  void setHoles(Unit[][] units, char[][] template)
          テンプレートをもとに、 指定されたUnitの2次元配列上に、 穴ユニットを設置します。
protected  void setObstacles(Unit[][] units, char[][] template)
          テンプレートをもとに、 指定されたUnitの2次元配列上に、 障害物ユニットを設置します。
protected  void setTiles(Unit[][] units, char[][] template)
          テンプレートをもとに、 指定されたUnitの2次元配列上に、 タイルユニットを設置します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getInstance

public static Rule getInstance()
ルールのインスタンスを返します。 初回呼び出し時に、ルールのインスタンスが作られます。 実際に作られるインスタンスは、Ruleクラスの サブクラスで、プロパティファイルで指定します。 そのルールタイプを取得するメソッドは、 Property.getRuleType()です。

戻り値:
ルールのインスタンス。
関連項目:
Property.getRuleType()

getInitialUnits

public abstract Unit[][] getInitialUnits(char[][] template)
初期盤面を生成し、返します。

パラメータ:
template - テンプレートとなる、char型の2次元配列。
戻り値:
初期盤面。(Unitの2次元配列)

next

public abstract void next(Agents movingAgents)
移動するエージェントの集合をもとに、次の時刻の盤面を返します。

パラメータ:
movingAgents - 移動するエージェントの集合。

onHole

public abstract Unit onHole(Unit unit,
                            Hole hole)
ユニットが、穴の上にのった時に適切に処理を行い、 その穴のあった位置にセットするユニットを返します。

パラメータ:
unit - 穴の上に乗ったユニット。
hole - 穴。
戻り値:

setHoles

protected void setHoles(Unit[][] units,
                        char[][] template)
テンプレートをもとに、 指定されたUnitの2次元配列上に、 穴ユニットを設置します。

パラメータ:
units - 穴を配置したいUnitの2次元配列。
template - テンプレート。

setObstacles

protected void setObstacles(Unit[][] units,
                            char[][] template)
テンプレートをもとに、 指定されたUnitの2次元配列上に、 障害物ユニットを設置します。

パラメータ:
units - 障害物を配置したいUnitの2次元配列。
template - テンプレート。

setTiles

protected void setTiles(Unit[][] units,
                        char[][] template)
テンプレートをもとに、 指定されたUnitの2次元配列上に、 タイルユニットを設置します。

パラメータ:
units - タイルを配置したいUnitの2次元配列。
template - テンプレート。

changeHoles

protected void changeHoles()
ランダムで穴に変化を加えます。


changeObstacles

protected void changeObstacles()
ランダムに障害物に変化を加えます。