56将棋開発ブログ

5×6マスのミニ将棋、「56将棋」で遊べるものをいろいろ開発してます。

JavaScriptで将棋のルール その1 ~ 駒の位置の内部表現 ~

おひさしぶりになってしまいましたが、どうも、ただのあほです。


さて、とりあえず駒が動かせるだけの将棋盤ができていたわけですが、

今回から、将棋のルールを守った指し手(合法手)

しか指せないような将棋盤をつくっていきたいと思います。


C++のほうでは、とりあえず合法手を生成することができているので、

おんなじやりかたで、JavaScriptでもやっていきたいと思います。


しばらく C++JavaScript をいったりきたりすると思いますがお付き合いください。


まずは、これまで dan , sujiという2つの変数であらわしていたものを、

C++でいう構造体のように、ひとまとめにして扱いたいなということで、

いろいろ調べた結果、こういったコードを書いてみました。


gist9089303


Posという関数に dan , suji というプロパティをもたせて、

引数をそのままプロパティに代入するようにしました。


C++では構造体とかクラスというものがあるのですが、

それは、C++がクラスベースオブジェクト指向言語だからで、

JavaScirptはプロトタイプベースオブジェクト指向言語というものらしいです。


ついに「オブジェクト指向」という、

やたらとかっこいい言葉をつかう日がきてしまいました。

(言葉をつかうだけなら小学生でもできるので、つかいこなせるかどうかが問題です)


そのあたりは、こちらの記事がとても勉強になったのでリンクを貼っておきます。

JavaScriptにおけるオブジェクトの基本的性質:CodeZine

JavaScriptの関数とメソッド:CodeZine

プロトタイプ(prototype)によるJavaScriptのオブジェクト指向:CodeZine


C++からはいった自分にはこちらのページも参考になりました。

JavaScriptでオブジェクト指向しよう1・構造体


というわけで、つぎは、

「あるマスに、ある駒が動けるかどうか」 を調べる関数をつくりたいと思います。


それでは。