今回参考にしたもの
www.roguebasin.roguelikedevelopment.org
www.roguebasin.roguelikedevelopment.org
英語でよくわからなかったのですが、書いてあることは大体こんな感じだと思います。
- まずアクタークラスを作る
- Schedulerを作る
- Schedulerにアクターを登録する
- new ROT.Engine(scheduler)でゲームターンエンジンを作り、schedulerをengineに登録する
- engineはschedulerを使い繰り返し適切なアクターを選択する。その際にアクタークラスのactメソッドを実行するので、アクタークラスには必ずactメソッドを持たせること
- engineはengine.lock, engine.unlockで制御できる
エネミーの数を増やすときは、スケジューラーにその都度追加していけばいいっぽいです。
なんとなくわかったので、ゲームターンエンジンを使ってプレイヤーが動くとエネミーが下に10ピクセル動くプログラムを作ります。
プレイヤーが青色の四角形、エネミーが赤色の四角形です。
ガチャガチャいじって動くようになったとても汚いソースコードがこちら。
使い方これで合ってるのか分かりませんが、とりあえず動かせるようにはなりました。
次回は、rot.jsの経路探索を使ってエネミーを動かしてみたいと思います。