class Human extends SearchConnect
SearchConnect| Modifier and Type | Field and Description |
|---|---|
private CDC_Board |
board |
private java.lang.String |
color |
private BooleanHolder |
isFinish |
private boolean |
isLocal |
private boolean |
oppoIsHuamn |
private int |
playerNum |
private int |
TIMEOUT |
connect_Info, error_Info, errThreadPriority, finish, stderr_lock, STDERR_READ_DELAY, stderr_stamp, stdout_lock, STDOUT_READ_DELAY, stdout_stamp, stdThreadPriority| Constructor and Description |
|---|
Human(client.Room_SettingFile.BoardOpenType type,
client.SettingFile.STARTMODE startMode,
client.Room_SettingFile.BoardDisconnectAutoRestart restart,
CDC_Room room,
CDC_Game game,
boolean isLocal,
boolean isCLI,
boolean isPlay,
boolean needCloseWeb)
constructor,因為是拿 CDC_Board 包裝成 Search 的接口模式,所以要傳入 CDC_Board 所需的初始參數
另外,因為針對有些功能上有線上伺服器和本地伺服器的區別限制,所以要 isLocal 來限制某些功能。
|
| Modifier and Type | Method and Description |
|---|---|
(package private) client.Packet |
askDrawOffer(BooleanHolder semaphore)
傳送詢問提和指令給盤面,讓使用者作出決定。
|
protected client.Packet |
askMove()
要求 Search 產生走步。
|
(package private) client.Packet |
askUndo()
傳送詢問是否悔棋的指令給 Web,讓使用者作出決定。
|
protected void |
gameStart(int playerNum,
boolean firstMove)
設定玩家編號。
|
protected java.lang.String |
getInteractiveLog()
取得和 Search 的所有互動字串。
|
(package private) client.Packet |
listenDrawOfferStep(BooleanHolder semaphore)
因為在提出提和的過程中,提出方可以不等候對方回應,直接走步,因此也要接收提出方的走步資料。
|
(package private) void |
resetBoard(CDC_Board new_board)
設定新的 instance。
|
(package private) void |
restartBoard()
傳送重新開始一局的指令給 Web,用來重整盤面。
|
(package private) void |
sendCommandResult(java.lang.String type,
int result)
傳送某項指令給對方後,回傳給 Web 對方的回應。
|
(package private) void |
sendGameResult(java.lang.String result)
傳送遊戲結果給 Web 顯示。
|
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 |
setisFinish(BooleanHolder isFinish)
設置遊戲是否結束。
|
(package private) void |
setOppoisHuman(boolean isHuman)
因為某些指令需要判別對方是否是人類還是 AI,因此需要設置對方的玩家類別。
|
(package private) void |
setPlayerName(java.lang.String first_move_name,
java.lang.String second_move_name)
傳送玩家的名稱給 Web 顯示。
|
protected void |
stopSearch()
停止 Search 運行。
|
getConnectInfo, getErrorInfo, getStderrStamps, getStdoutStampsprivate CDC_Board board
private java.lang.String color
private int playerNum
private boolean oppoIsHuamn
private boolean isLocal
private BooleanHolder isFinish
private final int TIMEOUT
Human(client.Room_SettingFile.BoardOpenType type,
client.SettingFile.STARTMODE startMode,
client.Room_SettingFile.BoardDisconnectAutoRestart restart,
CDC_Room room,
CDC_Game game,
boolean isLocal,
boolean isCLI,
boolean isPlay,
boolean needCloseWeb)
throws client.Warning
type - 盤面開啟方式 (CDC_Board 初始用)。startMode - 開房還是加房 (CDC_Board 初始用)。room - 房間頁面 (CDC_Board 初始用)。isLocal - 判斷是否為本地伺服器。isCLI - 是否目前為 CLI mode。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.Warningvoid sendGameResult(java.lang.String result)
throws client.Warning
result - 遊戲結果。client.Warning - 發生錯誤。void setPlayerName(java.lang.String first_move_name,
java.lang.String second_move_name)
first_move_name - 先手玩家名稱。second_move_name - 後手玩家名稱。client.Packet askDrawOffer(BooleanHolder semaphore) throws client.Warning
semaphore - 用來決定是否需要繼續詢問。Packet 的 class,並傳送給伺服器。client.Warning - 發生錯誤。client.Packet askUndo()
throws client.Warning
Packet 的 class,並傳送給伺服器。client.Warning - 發生錯誤。client.Packet listenDrawOfferStep(BooleanHolder semaphore) throws client.Warning
semaphore - 用來決定是否需要繼續詢問。Packet 的 class,並傳送給伺服器。client.Warning - 發生錯誤。void sendCommandResult(java.lang.String type,
int result)
throws client.Warning
type - 某項指令的類別。result - 對方的回應。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 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.Warningprotected void stopSearch()
stopSearch in class SearchConnectvoid restartBoard()
throws client.Warning
client.Warning - 發生錯誤。void setColor(int color)
color - 玩家顏色。void setOppoisHuman(boolean isHuman)
isHuman - 是否是人類。void setisFinish(BooleanHolder isFinish)
isFinish - 是否結束。void resetBoard(CDC_Board new_board)
新的 - instance。protected java.lang.String getInteractiveLog()
getInteractiveLog in class SearchConnect