プログラムの題材としてのパズル
Eテレでパズルを題材にしたアニメが放送さてています。ストーリーはよく理解できないのだけれども、登場するパズルが面白そうです。今リアルタイムでアニメのキャラクタたちが勝負しているゲームは、リンクスライダーと言うのですが、これが特に面白そうだったので、enchant.jsを使って作ってみました。
ルール
- スライダーを真ん中(白くなっている)に先に止めたほうが勝ち
- 交互に1回ずつスライダーを動かせる
- スライダーは上、下、左、右の4方向に移動させることができる
- スライダーは壁かスライダーに衝突するまで動く
- (おそらく)スライダーに乗れるのは1人まで
enchant.jsがよくできているので、少し書くだけでゲームの骨組みは作れました。プロトタイピングなのでキャラクタ、スライダー、床などはenchant.jsに付いてるサンプル画像を使っています。
それで次にAIでも作ろうかなと思ったのですが、ぼくがそういった訓練をしてないのもありますが、なかなかうまくできません。はじめは最善手をパパっと見つけてやろうと思ったのですが、うまくいかないので、あまり賢くないのから作ろうと段々ハードルを下げて何とかリアルタイムに対戦できるものを作ろうとしています。これがなかなかプログラムの題材として使えるなと思いながらも、ほどほどにしないとしんどいなとも思いました。