jp.ac.fun.osawalab.tileworld.client
クラス PlayerClient

java.lang.Object
  上位を拡張 jp.ac.fun.osawalab.tileworld.client.Client
      上位を拡張 jp.ac.fun.osawalab.tileworld.client.PlayerClient
すべての実装されたインタフェース:
Runnable
直系の既知のサブクラス:
MyClient

public abstract class PlayerClient
extends Client

プレイヤー用のクライアント抽象クラスです。 Clientの 拡張クラスで、プレイヤー用のコマンドを送信するメソッドの定義が行われています。 実際にプレイヤーを作成する場合、このクラスを拡張します。

作成者:
高山 貴裕(公立はこだて未来大学 システム情報科学研究科 大沢研究室)
関連項目:
Client, jp.ac.fun.osawalab.tileworld.client.ViewerClient

コンストラクタの概要
PlayerClient(String host, int port, String id, int messagePort)
          サーバーのhost、portと、クライアントID、メッセージを受けるportを指定して、 プレイヤークライアントのインスタンスを生成します。
 
メソッドの概要
 String addAgent()
          コマンド:「ADD」を送信します。
 char[][] getWorld(String agentID)
          コマンド:「WORLD $AGENT_ID」を送信し、 エージェントからみた局所的な世界の状態を char型の2次元配列として取得します。
 void move(String agentID, char action)
          コマンド:「MOVE $AGENT_ID $ACTION」を送信します。
protected  void onMessageReceived(String messasge)
          メッセージを受信したとき、呼ばれるメソッドです。
 
クラス jp.ac.fun.osawalab.tileworld.client.Client から継承されたメソッド
getAgentList, getAgentList, getMessage, getPlayerList, getReply, getScore, getScoreList, getScoreList, getWorld, login, logout, onTicked, printWorld, run, sendQuery
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PlayerClient

public PlayerClient(String host,
                    int port,
                    String id,
                    int messagePort)
サーバーのhost、portと、クライアントID、メッセージを受けるportを指定して、 プレイヤークライアントのインスタンスを生成します。 クライアントIDが既に存在する場合、適当にIDを変更する場合があります。

パラメータ:
host - Tileworldサーバーのhostname。
port - Tileworldサーバーのport。
id - ビューアークライアントのID。
messagePort - サーバーからのメッセージを受けるport。
関連項目:
Client.Client(String, int, String, int)
メソッドの詳細

move

public void move(String agentID,
                 char action)
コマンド:「MOVE $AGENT_ID $ACTION」を送信します。 $AGENT_IDは、移動させたいエージェント (送るクライアントが追加したエージェントに限られます)、 $ACTIONは、'U'、'L'、'R'、'D'のいずれかで指定します。

パラメータ:
agentID - 移動させたいエージェントのID。
action - エージェントの行動('U'、'L'、'R'、'D'のいずれか)。

addAgent

public String addAgent()
コマンド:「ADD」を送信します。 そして、サーバーから適切なエージェントIDが得られた場合には、 そのエージェントIDを、そうでない場合はnullを返します。

戻り値:
エージェントID。 エージェントIDが得られなかったときはnull

getWorld

public char[][] getWorld(String agentID)
コマンド:「WORLD $AGENT_ID」を送信し、 エージェントからみた局所的な世界の状態を char型の2次元配列として取得します。

戻り値:
世界の状態を表すchar型の2次元配列。 もし、取得に失敗した場合はnull

onMessageReceived

protected void onMessageReceived(String messasge)
クラス Client の記述:
メッセージを受信したとき、呼ばれるメソッドです。

定義:
クラス Client 内の onMessageReceived
パラメータ:
messasge - 受信したメッセージ。