マップ2-1を改修しました。
蛇口などを障害物として追加することで、銭湯感を演出しつつ戦闘にバリエーションをもたらしています。新たに敵キャラクターを追加しました。敵キャラクター(紫)はHP2で総乱数4となっていて、常に直線移動をするモンスターとなっています。
直線移動させるために追加した部分のプログラムを説明します。
if (this.dx == 0 && this.dy == 0) {
this.dx = 0;
this.dy = -1;
}
この部分ではステージ開始時の移動先を決めていて、現在は上方向に移動するようにしています。
while (map[this.py + this.dy][this.px + this.dx] != 9) {
switch (Math.floor(Math.random() *4)) {
case 0: this.dx = -1; this.dy = 0; this.dir = -1; break;
case 1: this.dx = 0; this.dy = -1; this.dir = -2; break;
case 2: this.dx = 1; this.dy = 0; this.dir = 1; break;
case 3: this.dx = 0; this.dy = 1; this.dir = 2; break;
この部分で、先が移動可能マスである9以外の数字かを判断して、9以外の障害物や壁であれば方向転換をします。
自分で考えたプログラムではありませんが、とても面白いプログラムだと思ったので、真似させていただきました。
参考文献
今回使用させていただいた素材は、「ぴぽや倉庫」と「ドット絵世界」さんのものです。
https://pipoya.net/sozai/
https://yms.main.jp/dotartworld/index.html