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

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

public class Agent
extends Unit

Agentは、Tileworldの世界で動くエージェントを表すクラスです。

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

フィールドの概要
static int MAX_SIZE
          Tileworld全体での、エージェントの最大数です。
 
コンストラクタの概要
Agent(int x, int y, char agentID)
          エージェントを生成し、その座標とIDをセットします。
Agent(Location location, char agentID)
          エージェントを生成し、その座標とIDをセットします。
 
メソッドの概要
 void addScore(int score)
          エージェントの得点を追加します。
 char getAction()
          エージェントの次の時刻に取る行動を取得します。
 Location getDefaultLocation()
          エージェントのデフォルトの座標を取得します。
 String getID()
          エージェントIDを取得します。
static char getNextAgentID()
          次に生成されるエージェントに対する、適切なエージェントIDを返します。
 Location getNextLocation()
          エージェントの次の行動から計算される、次の座標を取得します。
 Player getPlayer()
          エージェントを制御しているプレイヤーを取得します。
 int getScore()
          エージェントの現在の得点を取得します。
static boolean isAgent(char symbol)
          ある指定された記号が、エージェントを表すものであるかどうか調べます。
 void move(char direction)
          エージェントを指定された方向に移動します。
 void move(Location nextLocation)
          エージェントを指定された隣の座標に移動します。
 void setAction(char action)
          次の時刻に、エージェントがとる行動を設定します。
 void setAction(String action)
          次の時刻に、エージェントがとる行動を設定します。
 void setPlayer(Player player)
          エージェントを制御するプレイヤーを設定します。
 void setScore(int score)
          エージェントの得点を設定します。
 char toChar()
          Tileworldにおける、エージェントの表現(エージェントIDの1文字)を返します。
 String toString()
          エージェントの情報を文字列で取得します。
 
クラス jp.ac.fun.osawalab.tileworld.game.Unit から継承されたメソッド
canPush, create, create, getLocation, getNextLocation, getX, getY, isEnterable, setLocation, toCharArray
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

MAX_SIZE

public static final int MAX_SIZE
Tileworld全体での、エージェントの最大数です。 エージェントのIDは、aからzまでで、 エージェントの最大数は、26であるとしています。

関連項目:
定数フィールド値
コンストラクタの詳細

Agent

public Agent(int x,
             int y,
             char agentID)
エージェントを生成し、その座標とIDをセットします。

パラメータ:
x - エージェントのx座標。
y - エージェントのy座標。
agentID - エージェントのID。

Agent

public Agent(Location location,
             char agentID)
エージェントを生成し、その座標とIDをセットします。

パラメータ:
location - エージェントの座標。
agentID - エージェントのID。
メソッドの詳細

getNextAgentID

public static char getNextAgentID()
次に生成されるエージェントに対する、適切なエージェントIDを返します。 エージェントのIDは、aからzまでで、 Tileworld内には、同じIDをもつエージェントは存在しないようにします。 このgetNextAgentID()メソッドは、 aからzまで、アルファベット順に、 使われていないIDを一つ選んで返します。

戻り値:
次に生成されるエージェントに対する、適切なエージェントID。

isAgent

public static boolean isAgent(char symbol)
ある指定された記号が、エージェントを表すものであるかどうか調べます。

パラメータ:
symbol - 調べたい記号
戻り値:
調べたい記号が、エージェントを表すもの (aからzまでのアルファベット) であれば、true

addScore

public void addScore(int score)
エージェントの得点を追加します。

パラメータ:
score - 追加する得点。
関連項目:
setScore(int), getScore()

getAction

public char getAction()
エージェントの次の時刻に取る行動を取得します。

戻り値:
エージェントの次の時刻に取る行動。{'U', 'L', 'R', 'D', 'S'}のいずれかです。
関連項目:
setAction(String)

getDefaultLocation

public Location getDefaultLocation()
エージェントのデフォルトの座標を取得します。 デフォルト座標は、エージェントが生成されたときに、指定された座標です。

戻り値:
エージェントのデフォルトの座標。

getID

public String getID()
エージェントIDを取得します。

戻り値:
エージェントID。

getNextLocation

public Location getNextLocation()
エージェントの次の行動から計算される、次の座標を取得します。

戻り値:
次の座標。
関連項目:
Unit.getNextLocation(char)

getPlayer

public Player getPlayer()
エージェントを制御しているプレイヤーを取得します。

戻り値:
エージェントを制御しているプレイヤー。

getScore

public int getScore()
エージェントの現在の得点を取得します。

戻り値:
現在の得点。
関連項目:
addScore(int), setScore(int)

move

public void move(char direction)
エージェントを指定された方向に移動します。 方向は、{'U', 'L', 'R', 'D', 'S'}のいずれかである必要があります。 その方向に隣接するユニットが、Tileである場合は、Tileを動かしながら、 移動することになります。

パラメータ:
direction - 移動する方向。
関連項目:
move(Location), #move(Unit)

move

public void move(Location nextLocation)
エージェントを指定された隣の座標に移動します。 その座標のユニットが、Tileである場合は、Tileを動かしながら、 移動することになります。

パラメータ:
nextLocation - 目標とする座標。
関連項目:
move(char), #move(Unit)

setAction

public void setAction(char action)
次の時刻に、エージェントがとる行動を設定します。 行動は、{'U', 'L', 'R', 'D', 'S'}のいずれかである必要があります。

パラメータ:
action - エージェントがとる行動
関連項目:
setAction(String)

setAction

public void setAction(String action)
次の時刻に、エージェントがとる行動を設定します。 行動は、{"Up", "Left", "Right, "Down", "Stay"}のいずれかである必要があります。

パラメータ:
action - エージェントがとる行動
関連項目:
setAction(char)

setPlayer

public void setPlayer(Player player)
エージェントを制御するプレイヤーを設定します。

パラメータ:
player - エージェントを制御するプレイヤー。

setScore

public void setScore(int score)
エージェントの得点を設定します。

パラメータ:
score - 設定する得点。
関連項目:
addScore(int), getScore()

toChar

public char toChar()
Tileworldにおける、エージェントの表現(エージェントIDの1文字)を返します。

定義:
クラス Unit 内の toChar
戻り値:
エージェントのID(a-zのうちのどれか)。
関連項目:
Unit.toChar()

toString

public String toString()
エージェントの情報を文字列で取得します。 エージェントの情報は、ユニットとしての属性(位置や、クラス名など)と、エージェントの行動で構成されます。 主に、デバッグに利用されます。

オーバーライド:
クラス Unit 内の toString
戻り値:
エージェントの情報。
関連項目:
Unit.toChar()