Skip to content

Latest commit

 

History

History
145 lines (125 loc) · 7.49 KB

実装済みの機能.md

File metadata and controls

145 lines (125 loc) · 7.49 KB

実装済みの機能

  • 盤面表示

    • 1文字駒、2文字駒、英文字駒
    • 成り駒、朱色と黒のものを選択可能
    • 畳・盤画像の変更
    • 筋・筋の表示をチェス方式に変更
    • 盤面反転機能
    • 最終手の移動先の升の背景色、メニューからの色変更
    • 最終手の移動元の升の背景色、メニューからの色変更
    • レスポンシブ対応(メインウインドウのリサイズに応じて対局盤面を自動調整)、低アスペクト表示モード(縦長の駒台)
    • 駒の移動方角を示すマーカー(初心者向け)
    • 駒のドラッグでの移動、クリックでの移動
    • 駒を掴んだ時に移動出来ない升を暗くする
  • 対局機能

    • マウス2点クリックによる駒の移動、マウスドラッグによる駒の移動
    • いまどきの将棋アプリにあるような成り・不成・キャンセルのダイアログ
    • 対局開始時、対局終了時などの画面エフェクト
  • ToolStripによるショートカット

    • 「投」投了ボタン、「中」中断ボタン、「待」待ったボタン、「急」思考エンジンにすぐ指させるボタン
    • 「◀」開始局面に戻るボタン 「◁」一手進める 「▷」一手戻す、「▶」末尾の局面に進むボタン、「本」本譜に戻るボタン
  • 棋譜表示ウィンドウ

    • KIF2形式に近い、わかりやすい棋譜の表示(CSA形式、SFEN形式も選択可能)
    • 時間、分、秒の形式での消費時間表示
    • 分岐棋譜の操作(次分岐ボタン、分岐の消去ボタン、本譜に戻るボタン)、1手消すボタン。
    • 対局していない時に棋譜ウィンドウの行選択でその局面に移動できる
    • 対局していない時、盤上の駒を動かすと棋譜分岐が自動的に作成される機能
    • メインウインドウへの埋め込み、Dock、追随機能
    • 文字フォントサイズの変更(別ウインドウ時)
  • 対局設定ウィンドウ

  • 対局開始時の合法性のチェック

    • 二歩のチェック
    • 行き場のない駒
    • 非手番側への王手
    • 玉なし、単玉、玉2枚で同じ手番側、玉3枚以上のチェック
    • 非合法局面で対局を開始しようとした時にその理由を詳しく表示する機能
  • 棋譜ファイルの入出力

    • KIF/KIF2/CSA/PSN/PSN2/SFEN形式の読み書き対応
    • 分岐棋譜の読み込み、書き出し対応(KIF/KIF2/PSN/PSN2)
    • 棋譜の上書き保存
    • 現在の局面の保存機能 KIF/KIF2/CSA/PSN/PSN2
    • SVG形式で局面図の書き出し
  • 棋譜読み上げ音声

    • 対局開始・終了時の挨拶(商用版のみ)
    • 棋譜の読み上げ(商用版のみ)
    • 秒読みの秒の読み上げ(商用版のみ)
    • 駒音の再生
    • 読み上げ・駒音の再生についてはメニューから個別にオン・オフ可能
  • 盤面編集

    • 平手、各種駒落ち、詰将棋、双玉詰将棋の開始局面に初期化する機能
    • 手番の変更
    • 駒箱機能(不要な駒を入れておくための箱。使用しない駒を自由に選べる)
    • 2駒クリックによる自由度の高い移動
      • 盤上の駒、2駒クリックでの駒の交換
      • 駒台から相手の駒台への直接移動
      • 駒台から駒箱への移動
      • 駒箱から駒台への直接移動など
    • 細い駒台用の駒箱の実装
  • 表示設定

    • スクリーンショットを交えた、わかりやすい表示設定
    • 駒の色味、盤面・畳の色味など調整可能
    • マウスドラッグでの駒の移動のオンオフ
    • 駒を移動させるときにマウスカーソルに追随させるかのオンオフ
    • 各部位のフォント設定が可能
    • etc..
  • コンピュータの読み筋の表示

    • 対局中にコンピューターの読み筋を別ウィンドウで表示(リサイズ可)
    • 対局中にコンピューターの読み筋に対して、ミニ盤面で手順を閲覧できる
    • ミニ盤面の操作用のボタンとして、1手送り、1手戻し、開始局面へ移動、末端局面へ移動、盤面反転ボタンの実装
    • "info multipv .."を解釈して、その指し手の順位を表示
    • Scoreのupperbound,lowerboundを"++","--"で表示
  • 検討モード

    • 検討時にコンピューターの候補手の表示(MultiPV)
      • 「着順」: 読み筋を到着時刻順に表示。
      • 「R順」 : 読み筋をR(Rankingの略。候補手の順位のこと)順に表示。
    • 検討時にコンピューターの読み筋に対して、ミニ盤面で手順を閲覧できる。
    • 検討ウィンドウの候補手の数、終了時に保存しておき、次回に復元。
    • 検討モード前に局面の合法性のチェック
    • 評価値に「先手優勢」「後手有利」などの日本語で併記
    • 読み筋のところに「千日手引き分け」「優等局面」なども表示される。
    • 読み筋は、KIF2形式以外にCSA形式、SFEN形式も選択可能
  • 詰検討モード

    • 詰将棋エンジンに対応
    • 「不詰」の証明が出来る(詰将棋エンジン側がきちんと実装されていれば)
  • ウィンドウ

    • 終了時のメインウィンドウ、検討ウィンドウのサイズ、メインのウィンドウからの相対位置を次回起動時に復元
    • 検討ウィンドウを×ボタンで非表示にする、非表示にした検討ウィンドウをメニューの「ウィンドウ」のところから表示する
    • 検討ウインドウ、棋譜ウインドウのメインウインドウへの埋込み
  • USI2.0対応

    • 実行環境のCPUの自動判別、実行ファイルの自動決定
    • 動作環境の空き物理メモリの事前チェック
    • HASH、自動割当
  • エンジン選択ダイアログ

    • エンジンバナー、エンジン名、エンジン説明の表示
    • 思考エンジンの使用メモリの表示、現在の空き物理メモリの表示
  • エンジン詳細設定

    • わかりやすいエンジンオプションの説明
    • デフォルト値の表示(元に戻したい時のため)
    • エンジンの共通設定を用意
    • 詰将棋エンジン用の共通設定も用意
    • エンジンオプションのリセット機能
  • COM同士の連続対局機能

    • 棋譜ファイル自動保存
    • 連続対局時のフォルダ自動作成
    • Elo ratingの表示
  • 開発者支援

    • デバッグウィンドウ
      • 思考エンジンとのやりとりを出力
      • タイムスタンプは、ms単位まで
      • 正規表現によるフィルター機能
    • テキスト選択~ Ctrl+Cでクリップボードへのコピー。
    • ロギング機能
      • 思考エンジンとのやりとりをファイルに出力
      • タイムスタンプは、ms単位まで
    • 例外が出た時にその内容がテキストボックスに表示されるのでメッセージのコピペが可能