JavaScriptで将棋のルール その1 ~ 駒の位置の内部表現 ~
おひさしぶりになってしまいましたが、どうも、ただのあほです。
さて、とりあえず駒が動かせるだけの将棋盤ができていたわけですが、
今回から、将棋のルールを守った指し手(合法手)
しか指せないような将棋盤をつくっていきたいと思います。
C++のほうでは、とりあえず合法手を生成することができているので、
おんなじやりかたで、JavaScriptでもやっていきたいと思います。
しばらく C++ と JavaScript をいったりきたりすると思いますがお付き合いください。
まずは、これまで dan , sujiという2つの変数であらわしていたものを、
C++でいう構造体のように、ひとまとめにして扱いたいなということで、
いろいろ調べた結果、こういったコードを書いてみました。
Posという関数に dan , suji というプロパティをもたせて、
引数をそのままプロパティに代入するようにしました。
C++では構造体とかクラスというものがあるのですが、
それは、C++がクラスベースオブジェクト指向言語だからで、
JavaScirptはプロトタイプベースオブジェクト指向言語というものらしいです。
ついに「オブジェクト指向」という、
やたらとかっこいい言葉をつかう日がきてしまいました。
(言葉をつかうだけなら小学生でもできるので、つかいこなせるかどうかが問題です)
そのあたりは、こちらの記事がとても勉強になったのでリンクを貼っておきます。
JavaScriptにおけるオブジェクトの基本的性質:CodeZine
プロトタイプ(prototype)によるJavaScriptのオブジェクト指向:CodeZine
C++からはいった自分にはこちらのページも参考になりました。
というわけで、つぎは、
「あるマスに、ある駒が動けるかどうか」 を調べる関数をつくりたいと思います。
それでは。