2019「お気楽チェス」アプリについてチェス初心者がチェスを楽しむために作りました。チェスに自信のある方にとっても終盤は手強いと思います。他のチェスアプリでは味わえない奇抜な手を楽しんでください。※同一局面が3回で千日手でゲーム終了としています。AIはなるべく千日手を避ける仕様になっていますが、絶対千日手にならないとは言えません。ゲームを中断して前の局面に戻って再開することも出来ます。ゲーム中に歯車のアイコンをタップすると強制的にゲームを中断して設定メニュー画面に移行します。ゲーム盤面に戻って再開ボタンをタップすれば続きからゲームを再開出来ます。右上の矢印アイコンをタップすると盤面を回転表示します。右上のキャレット(∧、∨)アイコンをタップすると取った駒の数と手数を表示します。一度タップすると非表示にします。端末の画面サイズに合わせてご利用ください。AIレベルAIのレベルは3段階。アプリ側の強さを最強(「長考」)にしてchess.comでコンピュータと対戦させてみたところ、現状ではchess.comのLevel3と勝ったり負けたり、Level4やLevel5に偶に勝てるぐらいの強さのようです。以下のPGNファイルの内容をアプリで読み込めば棋譜が再現できます。0-1駒の動き駒の略号のアルファベットは棋譜に使用します。駒をタップすると移動可能なマス目を表示します。棋譜の入出力テキストボックスにPGN形式の棋譜ファイルをペーストして棋譜を読み込んでゲームを再開出来ます。棋譜を出力する時は左上のチェックマークボタンをタップすれば、テキストファイルを扱えるアプリやクリップボードに棋譜データ(*.pgn)を送信することが出来ます。棋譜の入出力にはチェス用ライブラリ(chess.js)を使用しています。このライブラリはドキュメントにも書いてあるように、チェスに関するAI以外の機能はほぼ全て網羅していて非常に便利です1。chess.comでも使用されているそうです。自動保存機能メモリ逼迫時にAndroidによってアプリが強制終了されるケースがあるので、一手指す毎に棋譜を自動保存する機能を追加しました。不意にアプリが落ちても起動後「再開」ボタンをタップすることで対局の続きが可能です。※万が一自動保存に失敗して何らかのエラーが発生しても、「新規開始」すれば新たにファイルが作成されるので問題ありません。それでもエラーが表示される場合は、「アプリ情報」メニューから「ストレージ」を選んで「ストレージを消去」の操作をしてください。AIを選択すると、対戦中に局面の評価値を赤字で表示します。先手(White)が有利な場合は正の方向、後手(Black)が有利な場合は負の方向に評価値が変動します。30上記表の駒の重みに、可動割合(モビリティ)を掛けて局面を評価しています2。後手の駒の価値の合計)とすることで先手が有利な場合は正の方向、後手が有利な時は負の方向に評価値が変動します。詳しい仕様に興味ある方はこの記事やこの記事も参照してください。自分の場合は自作の将棋アプリを改変してチェスアプリを作りましたが、新規にチェスアプリを作ってみようと思う人は、最初からchess.jsを使用することを前提にAIを作成すれば、効率的に作成出来ると思います。♚)を除く駒だけで、キングの重みは常に固定値です。♚)の可動性を重視するとキング自ら危険地帯(敵陣)に向かっていき弱くなります。