phi16です。traP Advent Calend a r 20日目です。技術系の話をします。 このへんにコードが諸々置いてあるので並行して読むとよいとおもいます。 完成品はこれです。 はじめに プログラムを書いてて起きるバグの多くは状態に起因するものである。勿論状態という概念を持たないチューリング完全なモデルは存在するが、現実として、特にゲームを作る上で状態を持たないことは不可能と言える。そこで、素直に書いた手続き型のコードから「如何に状態を削減するか」、「状態というものを隠蔽するか」、ということを考えたい。 今回はJavaScriptとHTML5 Canvasを使ってアクションゲームのモデルを作る。内容としては"キャラが動くだけ"、である。しかしその中にも多くの状態が隠れているのである。 手続き型のコード 状況設定[c152383] 画面はある範囲の矩形、そのなかでキャラクタ(青色の
