【ローグライクゲー】配列からマップを生成する2【制作日記】

どうも、萬朶櫻(@wanduoying)、180朶目の記事です。

 

前囘に續いてローグライクのマップを作つていきます。

【ローグライクゲー】配列からマップを生成する【制作日記】

マップの外側に外壁のブロックを設置する

マップの端つこに壞せない領域があるといいんぢやないかと思ひました。マイクラの岩盤ブロックみたいなやつです。

と云ふわけでコードを書いてみました。

  • 32行目のif文は、二次元配列map[,]の四邊に位置する要素に0を代入する
  • 32行目の記述を基に、50行目のif文にてOuterWallPrefabを生成する

↑こんな感じです。

 

實行してみた樣子がこちら。

ちやんと外側を取り圍むやうに「緣」が生成されてゐます。相變らず壁がランダムすぎますが。

ちなみに「壁」と「緣」が重なつて生成されてゐないかと思ひましたが、大丈夫でした。

 

あと「||」の演算子は、條件式において3つ以上使つても大丈夫みたいです。

たぶん&&とかも使へると思ひます。

床を生成する

床が無いので作ります。

map[i, j]が1の時に、床を生成します。

また床は壁などに比べて低い位置に生成されるので、y座標を-1にしておきました。

ちやんと「床」が生成されてゐますね。

手動でいくつかのマップ配列を描いて、ランダムで選び出す

マップをランダム生成しようと思つたんですが、すごく難しいらしいです。Tech Academyの人も言つてました。

仕方ないので暫くは手動で生成しようと思ひます。

マップ生成の處理を函數MapGenerator1、MapGenerator2として獨立させ、Start函數でのランダム値に應じて選擇する處理にしました。

 

44~63行目の部分はスプレッドシートで作つて、それをコピペしてます。

 

そして實行。

打ち込んだ通りに生成されました。

これでマップはとりあへず大丈夫さうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA