【pyxel 1.5】pyxelで3D迷路を作ってみる(8)
前回は迷路のギミックを作成しました。今回はさらに仕掛けを増やしつつ、迷路自体のマップバリエーションを増やしてみようと思います。
ここまで作れれば通しで一応プレイできるようにするのでexe化してitch.coにアップロードしてみます。
前回までの進行具合は以下のnoteをご参照ください。
まずは今回追加したギミックについて。
今までの状態だと敵に追いつめられるとなすすべなくゲームオーバーになっていました。さすがにこれだと運ゲー的要素が強すぎるので、これを回避できる手法を作ります。
「I」キーでフェンスを設置できるようにしました。これを使えば敵に追いつめられた時の緊急回避や、敵を袋小路に閉じ込めるといった使い道ができます。
ただフェンスを設置しただけだと自分が進めなくなっちゃうので、これを取り除く仕組みも作ります。
これで大分ゲームらしくなってきました。
続いて迷路のバリエーションを増やす作業に進みます。
今回は3パターンの迷路を作り、プレイごとにこの3種類からランダムに選ばれるようにします。
これをランダムにするために、スタート座標のy座標をいじります。
コードは下記のような感じで。
mi = pyxel.rndi(0, 2)
for i in range(32):
self.data = []
for i2 in range(32):
self.data.append(pyxel.tilemap(0).pget(i2, i + mi * 32))
self.maze.append(self.data)
miを0から2のランダムにして、32を掛けたものをスタート座標のyとしています。
▲スタート地点のマップがそれぞれ変わっています。
完全なランダムではありませんが、これでマップのバリエーションが増えました。
それではいったんここでexeの形で単体実行ファイルにしてitch.coにアップロードしてみます。
nuitkaを使ってコンパイル。
▲アップロードできました。
今回はここまで。
次回は…どうしましょうね。ちょっと考え中。
コードやpyxresファイル、モジュールファイルはGitHubの方に置いてあります。
今回はここまで。
読んでいただきありがとうございました。
ここまで読んでいただきありがとうございます!