年末にshogi-serverを用いて指定局面を使った大会をする予定です。 その関係でshogi-serverのbuoyの機能を使ってみたのですが、時間切れをするソフトが続出しました。 shogi-serverは、初期局面から指定局面までの指し手をもって指定局面としてます。その際すべて消費時間がT1です。
将棋所はその通りに指定局面を1秒消費しています、かつフィッシャー分だけ時間加算(今回の場合は2秒加算)。 一方で、shogi-serverは間際らしいことに1秒も消費してません。 その結果、将棋所が認識している持ち時間よりもshogi-serverの時間が短く、時間切れが続出しました。
これは途中局面を、「指定局面」なのか「再開局面」なのかという話になります。指定局面であれば対局開始時に時間が増減しているとおかしいですし、再開局面ですと時間を消費していないとおかしいです。
プロトコル側のCSAに質問したところ、「HPにはどっちともとれる書き方をしたが再開局面を意図している」と。 shogi-server側にも質問したところ「指定局面」であるとのことでした。
我々からすると理由なんて後付けでなんとでもするのでどっちでもいいのですが、クライアントとサーバの認識が違うのだけは困ります。 そこでshogi-serverのプログラムと、指定局面まで"T1"と出力している部分を"T"+@fischerと書き換えました。 こうすると、フィッシャーでない場合は0秒なりますし、フィッシャーの場合はその秒数減った分だけ加算されるので差し引きゼロです。 結果、どういう持ち時間設定にしても、クライアントもサーバも対局開始時には消費時間ゼロで始めることができて、両者の整合性がとれます。
以上情報共有でした。
|
|