jp.ac.fun.osawalab.tileworld.game
クラス World

java.lang.Object
  上位を拡張 jp.ac.fun.osawalab.tileworld.game.World

public class World
extends Object

Worldは、Tileworldの世界を表すクラスです。

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

メソッドの概要
 Agent addAgent()
          世界にエージェントを追加します。
 void addHoleAtRandom()
           
 void addMovingAgent(Agent agent)
          次の時刻に移動するエージェント(MOVEコマンドがおくられているエージェント)を 移動予約リストに追加します。
 void addObstacleAtRandom()
           
 String getAgentView(String agentID)
          指定されたエージェントIDをもつエージェントの視界の情報を返します。
 Location getDefaultLocation(char agentID)
          指定されたagentIDをもつエージェントの初期位置を返します。
static World getInstance()
          このクラスのインスタンスを返します.
static Location getLocation(char symbol, char[][] units)
          指定された記号が、指定されたchar型2次元配列のなかで どこにあるかを調べます。
static Location getLocation(char symbol, Unit[][] grids)
          指定された記号が、指定されたUnit型2次元配列のなかで どこにあるかを調べます。
 Unit getUnit(int x, int y)
          ある指定された座標にあるUnitを返します。
 Unit getUnit(Location location)
          ある指定された位置にあるUnitを返します。
 boolean isEnterable(Unit unit, Location location)
          ある指定されたユニットが、指定された位置に進入できるかどうか判定します。
 boolean isEnterable(Unit unit, Unit toUnit)
          * ある指定されたユニットが、指定されたユニットに進入できるかどうか判定します。
 boolean isFree(Location location)
          ある指定された位置がフリーかどうかをしらべます。
 boolean isFree(Unit unit)
          ある指定されたユニットがフリーかどうかをしらべます。
 void move(Unit unit, Location newLocation)
          指定されたユニットを、指定した位置に移動します。
 void next()
          次のクロックに進みます。
 void removeAgents(Agents agents)
          世界から、指定されたエージェントを削除します。
 void removeHoleAtRandom()
           
 void removeObstacleAtRandom()
           
 void reset()
          世界を初期状態にリセットします。
 String toString()
          世界の文字列表現を返します、
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

getInstance

public static World getInstance()
このクラスのインスタンスを返します.

戻り値:
このクラスのインスタンス.

getLocation

public static Location getLocation(char symbol,
                                   char[][] units)
指定された記号が、指定されたchar型2次元配列のなかで どこにあるかを調べます。はじめに見つかった位置を返します。

パラメータ:
symbol - 調べたい記号。
units - 調べたい2次元配列。
戻り値:
見つかった位置。

getLocation

public static Location getLocation(char symbol,
                                   Unit[][] grids)
指定された記号が、指定されたUnit型2次元配列のなかで どこにあるかを調べます。はじめに見つかった位置を返します。

パラメータ:
symbol - 調べたい記号。
units - 調べたいUnit型2次元配列。
戻り値:
見つかった位置。

addAgent

public Agent addAgent()
世界にエージェントを追加します。 追加するエージェントのIDは、 Agent.getNextAgentID()によって得られます。 そのIDに関連づけられたデフォルトの位置があればその位置に、 なければランダムな位置を、エージェントの初期位置とします。 IDと位置をもとにエージェントを生成、世界に配置し、 その追加されたエージェントのインスタンスを返します。

戻り値:
追加されたエージェント。

addMovingAgent

public void addMovingAgent(Agent agent)
次の時刻に移動するエージェント(MOVEコマンドがおくられているエージェント)を 移動予約リストに追加します。 このリストに追加されているエージェントが、つぎの時刻に移動する候補となります。

パラメータ:
agent - 移動するエージェント。

getAgentView

public String getAgentView(String agentID)
指定されたエージェントIDをもつエージェントの視界の情報を返します。

パラメータ:
agentID - 視界を得るエージェントのID。
戻り値:
視界の情報の文字列表現。

getDefaultLocation

public Location getDefaultLocation(char agentID)
指定されたagentIDをもつエージェントの初期位置を返します。

パラメータ:
agentID - 調べたいエージェントのID。
戻り値:
エージェントの初期位置を返します。

getUnit

public Unit getUnit(int x,
                    int y)
ある指定された座標にあるUnitを返します。

パラメータ:
x - 調べるx座標。
y - 調べるy座標。
戻り値:
ある指定された位置にあるUnit。座標の指定が妥当でない場合は、null。

getUnit

public Unit getUnit(Location location)
ある指定された位置にあるUnitを返します。

パラメータ:
location - 調べる位置。
戻り値:
ある指定された位置にあるUnit。位置の指定が妥当でない場合は、null。

isEnterable

public boolean isEnterable(Unit unit,
                           Location location)
ある指定されたユニットが、指定された位置に進入できるかどうか判定します。

パラメータ:
unit - 移動するユニット。
location - 移動したい位置。
戻り値:
進入できればtrue。

isEnterable

public boolean isEnterable(Unit unit,
                           Unit toUnit)
* ある指定されたユニットが、指定されたユニットに進入できるかどうか判定します。

パラメータ:
unit - 移動するユニット。
toUnit - 移動したい位置にあるユニット。
戻り値:
進入できればtrue。

isFree

public boolean isFree(Location location)
ある指定された位置がフリーかどうかをしらべます。

パラメータ:
location - 調べたい位置。
戻り値:
フリーであればtrue。

isFree

public boolean isFree(Unit unit)
ある指定されたユニットがフリーかどうかをしらべます。

パラメータ:
unit - 調べたいユニット。
戻り値:
フリーであればtrue。

move

public void move(Unit unit,
                 Location newLocation)
指定されたユニットを、指定した位置に移動します。

パラメータ:
unit - 移動するユニット。
newLocation - 移動したい位置。

next

public void next()
次のクロックに進みます。


removeAgents

public void removeAgents(Agents agents)
世界から、指定されたエージェントを削除します。

パラメータ:
agents - 削除したいエージェント。

removeHoleAtRandom

public void removeHoleAtRandom()

addHoleAtRandom

public void addHoleAtRandom()

removeObstacleAtRandom

public void removeObstacleAtRandom()

addObstacleAtRandom

public void addObstacleAtRandom()

reset

public void reset()
世界を初期状態にリセットします。


toString

public String toString()
世界の文字列表現を返します、

オーバーライド:
クラス Object 内の toString
関連項目:
Object.toString()