マップの改修と敵キャラクターの追加

 マップ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