将棋開始画面を作る

ブームについて

あまりにも有名な詰将棋、15手詰め、余り駒なし

ブームとはにわか景気また、にわかにはやり出すことをいいますが、このところの将棋人気の高さは一種のブームと言ってもよいでしょう。

ブームに乗ってひと儲けはうまくいかないものです。将棋は趣味のひとつとして長く親しんできましたので、今更ひとやま当てようとは考えていません。

今までに経験してきた知識や技術が、将棋とAIに興味を持つようになるきっかけになったら幸いです。

将棋とゲーム

コンピュータ将棋を作成するには、相手に勝つための論理的な思考の組み立てが必要です。それはかなり先の話です。まずは二人の対戦を画面上にどのようにして表示するかから始めなければなりません。そこで将棋開始画面を作る方法を一つ提案します。

プログラミング言語

かつて、将棋ソフトを記述する言語としてC言語を採用することが一般的でした。ふた昔前のころ、ハードウェアの機能が今ほど高速でないので高級言語で記述したコードをコンパイルして高速な機械コードに変換して実行されていましたが、目覚ましいハードウェアの進歩で高級言語のままでも遜色のない実行速度が得られるようになっています。

そのような理由から、開発環境を整えやすく、開発効率の高いJavaScriptをコンピュータ将棋ソフトを記述するプログラミング言語に選びました。

開発の目標

モダーンブラウザ(Chrome, Opeara, FireFox, Edge, IE11)で動作し、HTML5、CSS3に準拠したプログラムをめざします。サポートの終わったWindowsXPパソコンも現役で使われていることでしょうが、古典研究を除けば旧仮名遣いをいつまでも続けるような有様は得策ではありません。

ブラウザ上に図を描くために策定されたCanvasという仕様がありますが、画質などの面で当方は十分に使いこなせていないので限定的な使い方になっています。

将棋開始画面をJavaScriptで記述

イタリック体という文字の呼称はピサの斜塔と直接、関係なさそうです。

イタリック体があるのに文字を逆さにテキスト表示する逆さ文字の機能がないようです。いろいろ探しましたが見つかりませんでした。

将棋盤には後手番の駒を逆さに表示しなければなりません。それには文字を画像に変換して180度、回転して表示する方式があります。

縁起物の「左馬」

これを実現するには、これまで将棋の駒を作るソフトを用意し、テキストを画像イメージに変換して画像ファイルに出力して対戦ソフトに組み込むやり方が取られていました。

今回、駒作成ソフトをコンパクト化し、そのイメージをメモリ上に確保して画像として扱えるようにしてあります。

完成まであと一息

問題点がかなりクリアになってきました。次回にJavaScriptコードを公開できるのではないだろうか。Coming soon!乞うご期待。

コメントを残す

下記項目は必須ですがメールアドレスは公開されません。名前はニックネームをお使いください。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください