【究極の】室谷由紀女流1級【美形女流棋士】Part3

このエントリーをはてなブックマークに追加
738名無し名人
CSAモード
login
client: LOGIN username passwordで接続。 game_waiting ステータスに移行。password として gamenameとして適切な文字列を送ると gamename としてマッチングに用いられる。そうでない場合は、 default-1500-0に固定。どちらの場合も先手、後手の選択は出来ない。
game_waiting
server: 相手が見つかると対局条件表示。agree_waiting ステータスに移行
agree_waiting
client: AGREEで条件受け入れ。gameステータスに移行
game
client: 対局
server: 対局終了で切断
拡張モード
CSAモードとの違い:

LOGIN でパスワードの後ろに"x1"を入力.
connected ステータスが存在し,ログイン後に対局をするかしないか や対局する場合のgameidを選択可能.
対局終了後にconnected ステータスに戻り切断されない.
その他,チャット,観戦など拡張コマンドが使える.
login
client: LOGIN username password x1で接続
server: ##[LOGIN] +OK x1 を送る。clientは connected ステータスへ
connected
client: %%GAMEコマンドでgamenameを指定すると、game_waitingステータスに移行
client:%%CHALLENGEコマンドで既に待っ ている人のいるgamenameを指定するとagree_waitingステータスに
game_waiting
server: gamename毎に先手後手が揃うと、対局条件表示.agree_waiting ステータスに
client: 取り消す場合は%%GAMEコマンドで connectedに戻ることが可能。
agree_waiting
client: AGREEで条件受け入れ。gameステータスに移行
739名無し名人:2010/10/08(金) 08:16:05 ID:Wh6FC+pt
game
client: 対局
server: 対局終了でconnectedステータスに移行
文法
username
LOGINの際にクライアントが名乗る文字列.A-z0-9@_-. だけが使える.文字数制限は未定.
gamename
対局のマッチングに使われる文字列.拡張モードでは%%GAMEコマンドでクライアントが指定する.
CSAモー ドでは固定.書式はname-total_time-byoyomi_time
name は A-z0-9@_. だけが使える.文字数制限は未定.他は0-9
CSAモードの場合は default-1500-0
total_timeが0の場合は、持時間無制限
game_id
対局毎にサーバが指定する文字列.現在はgamenameとusernameと時刻を 組み合わせたもの.
拡張コマンド
拡張モードでのみ利用可能
%%WHO
クライアントの一覧が出力されます.
%%CHAT string
チャットします.拡張モードのクライアント全てに送信されます. 現在 utf-8 が de facto standard になっています. 空行を読みとばされます (keep-alive のためにクライアントから 空行を送って良い)
%%GAME gamename [+-*]
対局待ちになります.
%%GAME gamename +: 先手を持ちます.
%%GAME gamename -: 後手を持ちます.
%%GAME gamename *: 先手後手は相手の希望に合わせます.
%%CHALLENGE gamename [+-*]
対局をします。 %%GAMEと%%CHALLENGEの違いは、相手が見つから なかった場合に game_waitingに入るか否か. 対局相手が見つからない場合は(もともと相手が いなかったり、競合で負けた場合など)、 %%GAMEではエラーが表示されないが,%%CHALLLENGEの場合は、表示される。
%%LIST
740名無し名人:2010/10/08(金) 08:17:27 ID:Wh6FC+pt
game_idの一覧が出る。
##[LIST] b-1-a-20040626025755
##[LIST] +OK
%%SHOW game_id
盤面表示
%%SHOW b-1-a-20040626025755
##[SHOW] BEGIN Game_Summary
##[SHOW] Protocol_Version:1.0
##[SHOW] Protocol_Mode:Server
##[SHOW] Format:Shogi 1.0
##[SHOW] Game_ID:wdoor+yowai_gps-1500-0+test+yowai_gps+20041020235953
##[SHOW] Name+:test
##[SHOW] Name-:yowai_gps
##[SHOW] Rematch_On_Draw:NO
##[SHOW] To_Move:+
##[SHOW] BEGIN Time
##[SHOW] Time_Unit:1sec
##[SHOW] Total_Time:1500
##[SHOW] Byoyomi:0
##[SHOW] Least_Time_Per_Move:1
##[SHOW] Remaining_Time+:1488
741名無し名人:2010/10/08(金) 08:19:50 ID:Wh6FC+pt
##[SHOW] Remaining_Time-:1489
##[SHOW] Last_Move:-1213FU,T1
##[SHOW] Current_Turn:2
##[SHOW] END Time
##[SHOW] BEGIN Position
##[SHOW] Jishogi_Declaration:1.1
##[SHOW] P1-KY-KE-GI-KI-OU-KI-GI-KE *
##[SHOW] P2 * -HI * * * * * -KA *
##[SHOW] P3-FU-FU-FU-FU-FU-FU-FU-FU-FU
##[SHOW] P4 * * * * * * * * *
##[SHOW] P5 * * * * * * * * *
##[SHOW] P6 * * * * * * * +NY *
##[SHOW] P7+FU+FU+FU+FU+FU+FU+FU * +FU
##[SHOW] P8 * +KA * * * * * +HI *
##[SHOW] P9+KY+KE+GI+KI+OU+KI+GI+KE *
##[SHOW] P+00KY
##[SHOW] P-00FU
##[SHOW] +
##[SHOW] END Position
##[SHOW] END Game_Summary
##[SHOW] +OK
%%MONITOR{ON,OFF}
742名無し名人:2010/10/08(金) 08:21:09 ID:Wh6FC+pt
指定した対局の観察を継続的に行う/解除する (サーバのRevision 1.15以降)
%%MONITORON game_id
%%MONITOROFF game_id
game_idは、%%LISTで表示される
一手進む度に%%SHOWとほぼ同じ出力が送られる。但し、先頭が##[SHOW] の代わりに ##[MONITOR][gameid]となる。
%%MONITOR2{ON,OFF}
指定した対局の観察を継続的に行う/解除する (差分バージョン)
初期局面と初手からの指手を継続的に送る
(後日に例を加筆)
%%RATING
サーバが管理するプレイヤーのレーティング一覧を表示します(サーバのRevision 1.47以降)
プレイヤ名, レーティング値, 最終更新日が表示されます
レーティンググループの区別なく表示されます。グループ間でレーティング値を比較することはできません。
プレイヤが属するグループは表示されません
%%RATING
##[RATING] Gekisashi_Xeon-W5590_8c 1707 @2010-05-03
##[RATING] bonasse_980X 1620 @2010-07-07
##[RATING] Gekisashi_Xeon-X5365_8c 1578 @2010-05-01
##[RATING] Feliz_CSA 1569 @2010-05-03
##[RATING] test_td10k 1565 @2010-07-10
##[RATING] felizze980x6c 1554 @2010-05-22
##[RATING] bonasse_1090T_6c 1531 @2010-06-21
##[RATING] bonasse_980X 1501 @2010-05-14
##[RATING] Feliz_980X 1496 @2010-05-18
##[RATING] jushiro 1492 @2010-05-02
##[RATING] senoabs 1480 @2010-05-11
##[RATING] bonassen 1457 @2010-04-03
##[RATING] Shueso 1450 @2010-06-06
##[RATING] d01 1450 @2010-07-10
743名無し名人:2010/10/08(金) 08:35:08 ID:Wh6FC+pt
##[RATING] ponta_human 1446 @2010-07-02
##[RATING] Bona_Core_i5_750 1428 @2010-07-05
##[RATING] Bonanza_E5430_4c 1423 @2010-04-28
##[RATING] gps_4X8_1 1421 @2010-05-02
##[RATING] gps_4X8 1418 @2010-04-24
##[RATING] +OK
%%SETBUOY gamename moves [count]
[experimental] 指定局面戦を登録する。これにより、平手の初期局面から開始するのではなく、指定された途中局面から対戦することができる。
対戦するプレイヤではない第三者が局面指定する。
gamenameは、buoy_から始まること。それ以外の命名規則は通常どおり。
例: buoy_foo-1500-0
movesは、初期局面からの指手をCSA形式で列挙したもの。カンマや空白などは用いずに、文字列を連結する。
例: +7776FU-3334FU
count回対戦されると、サーバはgamenameを解除する。省略可能で、デフォルト値は1。対戦開始直後に減算される。
プレイヤが対戦する方法やコマンドは通常どおりである。
744名無し名人:2010/10/08(金) 08:38:21 ID:Wh6FC+pt
サーバから送信される対局条件において、初期局面およびそこからの指手として指定局面が(CSAプロトコルどおりに)提示される。
指定局面戦の登録(%%SETBUOY)、各プレイヤによる対局申し込み(%%GAME)の時系列は任意である。 登録後にプレイヤが%%GAMEを送信すれば、ふたり目の%%GAME後に対局が始まる。
一方、未登録のgamenameに対して、プレイヤが%%GAMEを送信すれば、プレイヤはgame_waiting状態となり、%%SETBUOY後に対局が始まる。
重複するgamenameを登録しようとするとエラーとなる。count回対戦されたり、%%DELETEBUOYで削除されたりすれば、登録が解除され、同じgamenameが再設定可能となる。
なお、指手の消費時間を指定する機能はない。対局条件における各指手は、1秒の消費時間として示される。
コマンド例1: %%SETBUOY buoy_bar-900-0 +7776FU
コマンド例2: %%SETBUOY buoy_foo-1500-0 +7776FU-3334FU 10
%%SETBUOY buoy_foo-1500-0 +7776FU-3334FU
##[SETBUOY] +OK
プレイヤへの対局条件提示の例:

745名無し名人:2010/10/08(金) 08:40:20 ID:Wh6FC+pt
%%GAME buoy_foo-1500-0 +
BEGIN Game_Summary
Protocol_Version:1.1
Protocol_Mode:Server
Format:Shogi 1.0
Declaration:Jishogi 1.1
Game_ID:hoge+buoy_foo-1500-0+daigo1+daigo2+20100904193853
Name+:daigo1
Name-:daigo2
Your_Turn:+
Rematch_On_Draw:NO
To_Move:+
BEGIN Time
Time_Unit:1sec
Total_Time:1500
Byoyomi:0
Least_Time_Per_Move:1
END Time
BEGIN Position
P1-KY-KE-GI-KI-OU-KI-GI-KE-KY
P2 * -HI * * * * * -KA *
P3-FU-FU-FU-FU-FU-FU-FU-FU-FU
P4 * * * * * * * * *
P5 * * * * * * * * *
P6 * * * * * * * * *
746名無し名人:2010/10/08(金) 08:44:31 ID:Wh6FC+pt
P7+FU+FU+FU+FU+FU+FU+FU+FU+FU
P8 * +KA * * * * * +HI *
P9+KY+KE+GI+KI+OU+KI+GI+KE+KY
+
+7776FU,T1
-3334FU,T1
END Position
END Game_Summary
%%DELETEBUOY gamename
[experimental] 指定局面戦gamenameの登録を解除する。%%SETBUOYで指定されたcountは対局のたびに減っていくが、このコマンドにより、残数のあるgamenameを強制的に削除できる。
gamenameを登録したプレイヤ(オーナー)のみ許可される。
%%DELETEBUOY buoy_foo-1500-0
##[DELETEBUOY] +OK
// オーナーでないプレイヤが削除しようとした場合はエラー
%%DELETEBUOY buoy_foo-1500-0
##[ERROR] you are not allowed to delete a buoy game that you did not set: buoy_foo-1500-0
// 未登録のgamenameを削除しようとした場合はエラー
%%DELETEBUOY hoge
##[ERROR] buoy game not found: hoge
%%GETBUOYCOUNT gamename
[experimental] 指定局面戦gamenameの残数を表示する。
未登録のgamenameに対しては-1が返る。
すべてのプレイヤが実効可能。
%%GETBUOYCOUNT buoy_foo-1500-0
##[GETBUOYCOUNT] 10
##[GETBUOYCOUNT] +OK