class Ponder extends SearchConnect
SearchConnect| Modifier and Type | Field and Description |
|---|---|
private int |
color |
private java.lang.StringBuilder |
commandLogSB |
private int |
playerNum |
private java.lang.Thread |
readStderr |
private java.lang.Thread |
readStdin |
private CDC_Room |
room |
private java.lang.Process |
search |
private java.net.Socket |
socket |
private java.io.BufferedReader |
stderrIS |
private java.io.BufferedReader |
stdinIS |
connect_Info, error_Info, errThreadPriority, finish, stderr_lock, STDERR_READ_DELAY, stderr_stamp, stdout_lock, STDOUT_READ_DELAY, stdout_stamp, stdThreadPriority| Constructor and Description |
|---|
Ponder(java.lang.String filePath,
java.lang.String arg,
CDC_Room room)
constructor,依照傳入的檔案路徑啟動 Search,設定讀取標準輸出和標準錯誤輸出的 Thread。
|
| Modifier and Type | Method and Description |
|---|---|
protected client.Packet |
askMove()
要求 Search 產生走步。
|
protected void |
gameStart(int playerNum,
boolean firstMove)
設定玩家編號。
|
protected java.lang.String |
getInteractiveLog()
取得和 Search 的所有互動字串。
|
private java.lang.String |
recv()
從 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)
設置此玩家的顏色給 Search。
|
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, getStdoutStampsprivate java.net.Socket socket
private java.lang.Process search
private java.lang.Thread readStdin
private java.lang.Thread readStderr
private java.io.BufferedReader stdinIS
private java.io.BufferedReader stderrIS
private java.lang.StringBuilder commandLogSB
private int playerNum
private int color
private CDC_Room room
Ponder(java.lang.String filePath,
java.lang.String arg,
CDC_Room room)
throws client.Warning
filePath - Search 檔案路徑。arg - 程式啟動參數。room - 房間頁面的 instance,用來輸出標準輸出和標準錯誤輸出的 log。client.Warning - 發生錯誤。protected client.Packet askMove()
throws client.Warning
askMove in class SearchConnectPacket) 的封包,內含動作代碼和走步。client.Warningprotected 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 SearchConnectdata - Server 傳送過來的走步完整資料(包含走步、時間等)。noEatFlip - 無吃翻數字。step_time - 當前走步所花費的時間。total_spent_time - 此走步玩家到當前走步所花費的時間累計。time - 我方玩家所剩餘的時間。oppoTime - 對手剩餘時間。isLast - 這步是否為最後一步,避免 Search 多走一步。client.Warningprotected 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 SearchConnectsetting - 此房間的遊戲參數。midboard - 遊戲初始盤面。myTime - 我方初始時間。player_times - 雙方初始剩餘時間。step_time - 初始盤面各走步花費時間。total_spent_time - 初始盤面從第一步到各走步雙方所累計的花費時間。client.Warning - 發生錯誤。protected void gameStart(int playerNum,
boolean firstMove)
throws client.Warning
gameStart in class SearchConnectplayerNum - 玩家編號。client.Warningprivate java.lang.String recv()
throws client.Warning
client.Warning - 發生錯誤。private void send(java.lang.String data)
throws client.Warning
data - 要傳送的資料。client.Warning - 發生錯誤。void setColor(int color)
color - 玩家顏色。protected void stopSearch()
stopSearch in class SearchConnectprotected java.lang.String getInteractiveLog()
getInteractiveLog in class SearchConnect