2D タイル ベースのゲームでランダムに生成された湖について質問があります。タイルの値を保持する 2 次元の int を使用します。各値は画像 (EG 草の 16x16 の正方形) を表します。
そこで、おそらくここではすでに知られているこの方法を思いつきましたが、「カエル」を使用します。カエルがジャンプしてソース ブロックを作成します。各ソース ブロックは、他のソース ブロックから 2 ~ 4 タイル以上離すことはできません。次に、特定の図がソースの周りに描画されます。
map[startX][startY] = tile;
map[startX-1][startY] = tile;
map[startX-2][startY] = tile;
map[startX+1][startY] = tile;
map[startX+2][startY] = tile;
map[startX][startY-1] = tile;
map[startX][startY-2] = tile;
map[startX][startY+1] = tile;
map[startX][startY+2] = tile;
map[startX+1][startY+1] = tile;
map[startX-1][startY+1] = tile;
map[startX+1][startY-1] = tile;
map[startX-1][startY-1] = tile;
startX,startY は、図形が描画される座標です。もちろん、これはすべてハードコードされています。これを自動的に行うアルゴリズムや方法はありますか? Figure のサイズを指定すると (これは 2 に設定されています)、それが実行されます。
Heres図: http://tinypic.com/r/2mcu1ol/5