将棋ソフト作りに挑戦 その3
2015年11月22日 とりあえず目標を立てました。
「ルール内でランダムな手を指すソフトを作る」
「視覚的に作者とソフトが対局できるようにする」
これを実現することが記事の目的です。思考ルーチンとかはその次の話なのでしません(できません)。
C#の環境を構築します。正直、これ自体私にとってハードルが高い。なるべく躓きたくない。
visual studio community 2015(以下VS)をインストールします。これは統合開発環境とよばれるもので、コードの編集からコンパイル、実行、文字の補完機能とかそろっている強力なツール。Microsoftが好きなわけではないけど、これは正直充実していると思う。
VSを立ち上げたら、新規作成→プロジェクト、からテンプレート→Visal C#→クラシックデスクトップ→空のプロジェクトを作ります。プロジェクトは一つの製品のようなものだと思いますたぶん。なので、これに将棋ソフトの名前でも付けます。「空の」は何も最初に設定されていないということだと思います。全部、ゼロから作るぞということです。
プロジェクトができたら、画面右のソリューションエクスプローラにある、プロジェクト名の上で右クリックをし、追加→新しい項目をクリック、コードファイルを作成します。コードファイルに次のように記述して、ソリューションのビルドします。そして、デバッグの開始。
class Test { public static void Main() { System.Console.WriteLine("test"); while (true) ; } }
するとコンソール画面が出てきてtestと表示されたら成功です。最後のwhile文は実行を終了しないようにし、コンソール画面が消えないようにするためです。
これで基本的な環境は整ったのであとは自分の好きにコードを書いてください終w
ここから私は、よくわからなかったので、Formを作ってその中に将棋盤を表示するプログラムを書き始めました。つまり、視覚的な部分(GUI)から先に作ろうとしました。実際、駒をクリックして移動させるところまでできたんですが、そのあと、「ルール内の移動かどうかを調べる」ところでつまりました。ややこしすぎて。
問題は、GUIとそれ以外の部分を同時に作ろうとしてパニックになったことです。そして、GUIをつくるのハードル高いと気づきました。避けたい。
実は、GUI部分は公開されているアプリで代用できると知りました。
そのアプリは将棋所です。
2015年11月29日
今まで作っていたGUIを捨てて、一からやり直すことを決意。
続く?