【ローグライクゲー】マップにキャラやアイテムなどを生成する【制作日記】

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

前囘、マップを半分ランダムに生成するコードを書きました。

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

今囘はそのマップ上にキャラクター、アイテム、罠などのオブジェクトを生成しようと思ひます。

マップをいい感じに生成するスクリプトを教へてもらつた

前囘の最後の方で「マップをいい感じにランダム生成する方法が分からん」と書いてゐましたが、そのことをTAにて相談してみたら、MapGenerator.csといふスクリプトを教へてもらひました。

以下の4行目でインスタンス化して利用してゐます。

ただ、MapGenerator.csの中身は難し過ぎてサッパリ分かりませんでした。

理解できないとアレンジとか出來ないので、頑張つて勉強しないとね。

なほMapGenerator.csは自分で書いたものではない貰ひ物なので、公開はやめておきます。

マップ上の座標にランダムで敵を生成する。

ここではmap[i, j]の亂數に應じてキャラを生成させます。

MapGeneratorとCharacterGeneratorの中で同じ二次元配列のmap[,]が使はれてゐますが、それぞれ別の獨立したローカル變數です。

この2つのmap[,]をレイヤーみたいにして重ねてゐるわけです。

 

實行してみます。

なんか壁の中に敵が生成されてますが、とりあへずはできました。

同じやうにプレイヤー、アイテム、罠を生成する

敵のときと同じやうに、map[i, j]の亂數に應じてキャラを生成させます。

ただ、これだとプレイヤーキャラが複數生成されたり、あるいは1つも生成されない可能性があり、ちよつと工夫が必要ですね。

 

續いてアイテムを生成するための函數void ItemGenerator()、それと罠や階段などの地面設置物を生成するための函數void GroundObjectGenerator()を書き加へます。

これもvoid CharacterGenerator()と同じやうにローカル變數map[i, j]を作成し、亂數に應じて處理します。

ちやんとアイテム、罠、プレイヤーキャラが生成されました。

假とは云へ、プレイヤーキャラとそれ以外とのグラフィック格差が大きすぎる。

 

次囘は

  • プレイヤーを1人だけ生成するやうにする
  • キャラクターが壁の中に生成されないやうにする

このあたりを進めていかうと思ひます。

コメントを残す

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

CAPTCHA