class DCTP extends SearchConnect
SearchConnect
Modifier and Type | Class and Description |
---|---|
private static class |
DCTP.Command
DCTP 的指令列表及代碼。
|
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
color |
private java.lang.String |
filePath |
private boolean |
isAlive |
private int |
playerNum |
private java.lang.Thread |
readStderr |
private java.lang.Thread |
readStdin |
private java.lang.String |
reply |
private boolean |
replyResult |
private java.lang.Process |
search |
private java.io.BufferedReader |
stderrIS |
private java.io.BufferedReader |
stdinIS |
connect_Info, error_Info, errThreadPriority, finish, stderr_lock, stderr_stamp, stdout_lock, stdout_stamp, stdThreadPriority
Constructor and Description |
---|
DCTP(java.lang.String filePath,
CDC_Room room)
constructor,依照傳入的檔案路徑啟動 Search,設定讀取標準輸出和標準錯誤輸出的 Thread。
|
Modifier and Type | Method and Description |
---|---|
protected client.Packet |
askMove()
要求 Search 產生走步。
|
protected void |
gameStart(int playerNum)
設定玩家編號。
|
(package private) java.lang.String |
getSearchName()
取得程式名稱。
|
(package private) java.lang.String |
getSearchVersion()
取得程式版本。
|
private java.lang.String |
recv(int ID)
從 Search 接收資料。
|
private void |
send(java.lang.String data)
傳送資料給 Search。
|
protected void |
sendMove(java.lang.String data,
int noEatFlip,
int step_time,
int total_spent_time,
int time,
int oppoTime,
boolean isLast)
傳送走步給 Search。
|
(package private) void |
setColor(int color)
設定我方顏色。
|
protected void |
setGameInfo(client.SettingFile setting,
java.lang.String midboard,
int myTime,
int[] player_times,
java.lang.Integer[] step_time,
java.lang.Integer[] total_spent_time)
設置初始遊戲資料給 Search。
|
protected void |
stopSearch()
停止 Search 運行。
|
getConnectInfo, getErrorInfo, getStderrStamps, getStdoutStamps
private java.lang.Process search
private java.lang.String filePath
private java.lang.Thread readStdin
private java.lang.Thread readStderr
private java.io.BufferedReader stdinIS
private java.io.BufferedReader stderrIS
private java.lang.String color
private java.lang.String reply
private boolean replyResult
private boolean isAlive
private int playerNum
DCTP(java.lang.String filePath, CDC_Room room) throws client.Warning
filePath
- Search 檔案路徑。room
- 房間頁面的 instance,用來輸出標準輸出和標準錯誤輸出的 log。client.Warning
- 發生錯誤。protected client.Packet askMove() throws client.Warning
askMove
in class SearchConnect
Packet
) 的封包,內含動作代碼和走步。client.Warning
protected void sendMove(java.lang.String data, int noEatFlip, int step_time, int total_spent_time, int time, int oppoTime, boolean isLast) throws client.Warning
sendMove
in class SearchConnect
data
- Server 傳送過來的走步完整資料(包含走步、時間等)。noEatFlip
- 無吃翻數字。step_time
- 當前走步所花費的時間。total_spent_time
- 此走步玩家到當前走步所花費的時間累計。time
- 我方玩家所剩餘的時間。oppoTime
- 對手剩餘時間。isLast
- 這步是否為最後一步,避免 Search 多走一步。client.Warning
protected void setGameInfo(client.SettingFile setting, java.lang.String midboard, int myTime, int[] player_times, java.lang.Integer[] step_time, java.lang.Integer[] total_spent_time) throws client.Warning
setGameInfo
in class SearchConnect
setting
- 此房間的遊戲參數。midboard
- 遊戲初始盤面。myTime
- 我方初始時間。player_times
- 雙方初始剩餘時間。step_time
- 初始盤面各走步花費時間。total_spent_time
- 初始盤面從第一步到各走步雙方所累計的花費時間。client.Warning
- 發生錯誤。protected void gameStart(int playerNum) throws client.Warning
gameStart
in class SearchConnect
playerNum
- 玩家編號。client.Warning
protected void stopSearch()
stopSearch
in class SearchConnect
private void send(java.lang.String data) throws client.Warning
data
- 要傳送的資料。client.Warning
- 發生錯誤。private java.lang.String recv(int ID) throws client.Warning
ID
- 指令代號,DCTP 模式下,因為接收到的指令代號要與傳送過去的對應,因此要確認接收的指令代號。client.Warning
- 發生錯誤。void setColor(int color)
color
- 我方顏色。java.lang.String getSearchName() throws client.Warning
client.Warning
- 發生錯誤。java.lang.String getSearchVersion() throws client.Warning
client.Warning
- 發生錯誤。