- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06/19
- メディア: 大型本
- 購入: 38人 クリック: 630回
- この商品を含むブログ (377件) を見る
こちらのInterpreterパターンの章で紹介されている例をjavascriptとcanvasで書いてみました。
本ではJavaで書かれているものです。
下記のようなスクリプトで「車」を操作します。
program repeat 4 go right end end
「go」で車が進み、「left」「right」で車が回転します。
「repeat 数字」で、その後のコマンドが繰り返し実行されます。
BNFで表すと下記のようになります。
::= program
::= * end
::= |
::= repeat
::= go | right | left
例のプログラムでは、このスクリプトをパースして実行するものです。
今回は、このスクリプトのインタプリター部分をjavascriptで記述し、
描画の部分ではcanvasを用いました。
http://github.com/memememomo/interpreter_canvas
点が車が止まった地点、線が車が通った道です。
とりあえず例と同じ結果が得られるようになりました。
TODO
- 車の移動の様子をアニメーションで表示
- ステップステップで実行できるようにする