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

java.lang.Object
  上位を拡張 jp.ac.fun.osawalab.tileworld.game.Agents
すべての実装されたインタフェース:
Iterable<Agent>
直系の既知のサブクラス:
AllAgents

public class Agents
extends Object
implements Iterable<Agent>

Agentsは、エージェントのリストを管理するクラスです。 リストの最大数は有限で、リストの作成時に、 Agentクラスの Agent.MAX_SIZEで指定されています。 基本的にエージェントの追加や削除は、 サーバーの起動時、終了時に行われるものであり、 稼働中に頻繁に追加や削除が行われないと想定していて、 同期処理は、簡素な作りになっています。

作成者:
高山 貴裕(公立はこだて未来大学 システム情報科学研究科 大沢研究室)
関連項目:
Agent, Agent.MAX_SIZE, AllAgents

コンストラクタの概要
Agents()
          エージェントのリストをつくります。
 
メソッドの概要
 void add(Agent agent)
          リストに、エージェントを追加します。
 Agent getAgentFromID(String agentID)
          リスト内にあるエージェント群から、指定されたIDをもつエージェントを返します。
 String getScoreList()
          このリスト内の全てのエージェントとそのスコアの文字列表現を返します。
 Iterator<Agent> iterator()
          このリスト内の要素を適切な順序で繰り返し処理する反復子を返します。
 void remove(Agent agent)
          以前追加されてリストに存在している、指定されたエージェントをリストから削除します。
 void remove(Agents agents)
          指定されたエージェントのリストに存在するエージェントを削除します。
 int size()
          このリストの大きさ(エージェントの数)を返します。
 String toString()
          エージェントのリストの文字列表現を取得します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Agents

public Agents()
エージェントのリストをつくります。 初期状態においては、エージェントの総数は0です。 エージェントを追加できる最大数は、Agent.MAX_SIZE を参照してください。

メソッドの詳細

add

public void add(Agent agent)
リストに、エージェントを追加します。すでに、そのエージェントが存在する場合は、追加しません。

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

getAgentFromID

public Agent getAgentFromID(String agentID)
リスト内にあるエージェント群から、指定されたIDをもつエージェントを返します。

パラメータ:
agentID - 取得したいエージェントのID
戻り値:
指定されたIDをもつエージェント。もし、存在しない場合は、null。

getScoreList

public String getScoreList()
このリスト内の全てのエージェントとそのスコアの文字列表現を返します。 表現のフォーマットは、
$N $agent_id_1 $score_1 $agent_id_2 $score_2 ... $agent_id_N $score_N
のようになっており、$N はエージェント数で、その後にN組のエージェントIDとスコアが続きます。 エージェントのリストのみを取得したい場合は、このクラスのtoStringメソッドを利用してください。

戻り値:
このリスト内の全てのエージェントとそのスコアの文字列表現。
関連項目:
toString(), Agent.getID(), Agent.getScore(), Object.toString()

iterator

public Iterator<Agent> iterator()
このリスト内の要素を適切な順序で繰り返し処理する反復子を返します。

定義:
インタフェース Iterable<Agent> 内の iterator
戻り値:
リスト内の要素を適切な順序で繰り返し処理する反復子。

remove

public void remove(Agent agent)
以前追加されてリストに存在している、指定されたエージェントをリストから削除します。

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

remove

public void remove(Agents agents)
指定されたエージェントのリストに存在するエージェントを削除します。

パラメータ:
agentList - 削除したいエ−ジェントのリスト

size

public int size()
このリストの大きさ(エージェントの数)を返します。

戻り値:
リスト内のエージェントの総数

toString

public String toString()
エージェントのリストの文字列表現を取得します。 表現のフォーマットは、
$N $agent_id_1 $agent_id_2 ... $agent_id_N
のようになっており、$N はエージェント数で、その後にエージェントIDがN個続きます。

オーバーライド:
クラス Object 内の toString
戻り値:
エージェントのリストの文字列表現。
関連項目:
Agent.getID(), Object.toString()