Pythonでつくる ゲーム開発 入門講座
廣瀬 豪
ソーテック社
2019-07-19





RPGチャートに入ってから、過去に遊んだRPGを
振り返ろうと思って、WiiのドラクエⅠ、Ⅱ、Ⅲ
引っ張り出してきてプレイしたらものの見事に
遊び呆けてしまったね。(^ν^)
今のソシャゲには無いワクワク感と今まで
忘れていた考えて遊ぶってのを思い出したら
プレイが止まらなくてね…まぁ仕方ないよね。


Lesson11-3 ダンジョンを作る

Lesson11-2で作成した迷路をダンジョンに変える。
①ダンジョンを定義するための二次元リスト
 dungeonを用意
②mazeのマスの状態を調べながら、dungeonに
 値をセットする
②は
dungeonの中身(要素)を、一旦全て壁にする。
maze[x][y]の値を調べ、0(床)であればランダムに
dungeonに部屋を作る。
部屋を作らない場合、maze[y][x]の上下左右のマスを
調べ、0ならその方向にdungeonに通路を作る。

■ダンジョンを作るプログラム
迷路の1マスがダンジョンでは3×3になる。
ダンジョンに部屋や通路を作るために
[dx = x*3+1][dy = y*3+1]という変数を用意。
それぞれ+1しているのは、dx、dyを3×3マスの
中央の座標の値とするため。
maze[y][x]の値を調べ、0(床)であれば20%の確率で
部屋を作り、部屋を作らないならmaze[y][x]の
上下左右を調べ、床のある方向に通路を作っている。


う~ん本に書いてあるとおり迷路を作る
アルゴリズムと、迷路を地下迷宮(ダンジョン)らしい
データに変える処理を難しいと感じるわ。
今すぐ理解できなくても、プログラム全体を眺め、
大体のイメージをつかめばOKとのことなので
深く考えず一旦進めよう。


Pythonでつくる ゲーム開発 入門講座
廣瀬 豪
ソーテック社
2019-07-19