Skip to content
This repository has been archived by the owner on Apr 26, 2023. It is now read-only.

TownGenerator2

Kasugaccho edited this page Mar 12, 2019 · 19 revisions

実装難易度: ★★★★★★☆☆☆☆

優先度: ★★★★☆

ガバガバ度(自由度): ★★★★☆

ランダム性: あり


道伸ばし生成

二次元配列であるint matrix[y][x]がある。(xはX軸方向のマスの大きさ, yはY軸方向のマスの大きさ)

matrixは全ての値を0で初期化する。

matrixに以下の手順に示す通りに道(曲線)を生成する。

大まかな手順

  1. 始点を決め(マップの端が相応しい)、そこから(値が1の)曲線を描く。 ※曲線は画面端や曲線に当たるまで描く。

  2. (値が1の)曲線の任意の位置(ある程度ランダム)を始点として(値が2の)曲線を描く。

  3. (値が1の)曲線の任意の位置(ある程度ランダム)を始点として(値が3の)曲線を描く(ただし、別の曲線と距離が遠くなる場所を始点とする)。

  4. 曲線を書き終える都度、曲線の値をインクリメントして、3.を繰り返す。

  5. (値が1の)曲線から曲線が引けなくなったら次のインクリメントした曲線(この場合は値が2の曲線)から曲線を生成する。

完成図(例)

赤色の曲線(値が1の曲線)を引く。

赤色の曲線を始点とした曲線を引く。

赤色の曲線を始点とした曲線を引けなくなったら、 赤色の曲線(値が1の曲線)の次に引いた曲線(値が2の曲線)を始点とした曲線を引く。 ※この場合は青紫色。

この操作を曲線が引けなくなるまで繰り返す。

曲線の遷移(例)

・始点
赤色
↓
・赤色
青紫色
明るい緑色
山吹色
オレンジ色
↓
・青紫色
明るい赤紫色
紫色
青色
↓
・明るい緑色
水色
↓
・山吹色
くすんだ水色
↓
・オレンジ色
明るい青緑色
黄緑色
くすんだ黄色
桃色
↓
・明るい赤紫色
なし
↓
・紫色
なし
↓
・青色
なし
↓
・水色
薄い赤色
薄い赤紫色
薄い青紫色
薄い青色
薄い水色
↓
・くすんだ水色
なし
↓
・明るい青緑色
薄い青緑色
↓
・黄緑色
なし
↓
・くすんだ黄色
薄い緑色
↓
・桃色
なし
↓
・薄い赤色
薄い黄緑色
↓
・薄い赤紫色
なし
↓
・薄い青紫色
なし
↓
・薄い青色
なし
↓
・薄い水色
なし
↓
・薄い青緑色
なし
↓
・薄い緑色
なし
↓
・薄い黄緑色
なし

当記事のライセンス

CC0

実装手順書

[未実装]

地形

ダンジョン

図形

[実装済]

Simple Voronoi Island

Simple Cellular Automaton Island

Simple Biome Island

Biome Island

Fractal Island

Chunk Island

Simple Diamond Square Average Island

Simple Diamond Square Average Island Corner

RogueLike

Simple RogueLike

Maze Dig

RogueLike Cave

DungeonInit

Border

BorderOdd

PointGrid

PointGridField

PointGridFieldPutBlock

Reversi

Chess

Mountain

Pen

Bucket

Clone this wiki locally