敵の移動をランダムにして不規則なタイミングで動かす【Python】

前回、マップ上に敵を出現させてプレイヤーが衝突したらゲームオーバーになるようにしました。

現状敵は、その場に立ち止まったままで動くことはないので、乱数を使って敵を移動させます。

スポンサーリンク

敵の移動をランダムにして不規則なタイミングで動かす方法

毎回同じスクリプトに追記してきたので、敵の動きに関する部分だけ抜粋してプログラムを公開します。流石にごちゃごちゃして分かりにくくなってくるので・・・。


move_enemy関数が敵の動きに関わる部分ですね。プレイヤーも敵も上下左右4方向に移動するようになっているので「random.randint(0,3)」で各方向に移動させるようにするのが簡単でしょう。

0・・・上移動

1・・・下移動

2・・・右移動

3・・・左移動

といった感じですね。単純に移動させたいだけであれば、上記のようにすれば良いと思います。

ただ、私は「random.randint(0,7)」にしています。このように範囲を広げることで、ランダム且つ不規則な動きにすることが出来ます。規則的に動かしたいかどうかの違いですね。

基本的にメイン関数は、root.afterを使って繰り返し実行する必要があるため、もっとゆっくりと敵を動かしたい場合は、別途タイマー変数などを用意すると良いでしょうね。

後は、敵が範囲外に消えないように各座標をチェックして、移動させないようにしています。

敵のランダムかつ不規則な移動

アニメーションを付けてないので不気味ですが、まさにお化けらしい動きになりました。

著者プロフィール
うんくん

IT系に特化した記事がメインです。(Unity多め。)
Udemy講師もやっています。よろしくお願いします。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

うんくんをフォローする
Python
スポンサーリンク
シェアする
うんくんをフォローする