class ReadFile extends SearchConnect
SearchConnect
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
arg |
private static java.lang.String |
boardFileName |
private java.lang.String |
boardPath |
private java.io.BufferedReader |
BR |
private java.io.BufferedWriter |
BW |
private java.lang.String |
fileHeader |
private java.lang.String |
filePath |
private static java.lang.String |
moveFileName |
private java.lang.String |
movePath |
private java.util.ArrayList<java.lang.String> |
moves |
private java.lang.String |
OppoPlayerName |
private java.lang.String |
PlayerName |
private int |
playerNum |
private java.lang.Thread |
readStderr |
private java.lang.Thread |
readStdin |
private CDC_Room |
room |
(package private) java.lang.Process |
search |
private java.io.BufferedReader |
stderrIS |
private java.io.BufferedReader |
stdinIS |
private java.util.ArrayList<java.lang.Long> |
times |
connect_Info, error_Info, errThreadPriority, finish, stderr_lock, STDERR_READ_DELAY, stderr_stamp, stdout_lock, STDOUT_READ_DELAY, stdout_stamp, stdThreadPriority
Constructor and Description |
---|
ReadFile(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 的所有互動字串。
|
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。
|
(package private) void |
setPlayerName(java.lang.String player,
java.lang.String oppoPlayer)
設定雙方玩家名稱,因為此模式下需要雙方玩家名稱。
|
protected void |
stopSearch()
停止 Search 運行。
|
getConnectInfo, getErrorInfo, getStderrStamps, getStdoutStamps
private java.lang.String filePath
private java.lang.String arg
private static final java.lang.String moveFileName
private static final java.lang.String boardFileName
private java.lang.String boardPath
private java.lang.String movePath
private java.lang.String PlayerName
private java.lang.String OppoPlayerName
private java.lang.String fileHeader
private java.util.ArrayList<java.lang.String> moves
private java.util.ArrayList<java.lang.Long> times
private java.io.BufferedWriter BW
private java.io.BufferedReader BR
private java.io.BufferedReader stdinIS
private java.io.BufferedReader stderrIS
private java.lang.Thread readStdin
private java.lang.Thread readStderr
private int playerNum
private CDC_Room room
java.lang.Process search
ReadFile(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
protected void stopSearch()
stopSearch
in class SearchConnect
void setPlayerName(java.lang.String player, java.lang.String oppoPlayer)
player
- 我方名稱。oppoPlayer
- 敵方名稱。void setColor(int color)
color
- 玩家顏色。protected java.lang.String getInteractiveLog()
getInteractiveLog
in class SearchConnect