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, getStdoutStamps
private 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 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, boolean firstMove) throws client.Warning
gameStart
in class SearchConnect
playerNum
- 玩家編號。client.Warning
private 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 SearchConnect
protected java.lang.String getInteractiveLog()
getInteractiveLog
in class SearchConnect