/// <summary> /// 指定したサイズに収まるランダムダンジョンを生成します。 /// </summary> public static DungeonData DoGenerateDungeon(Size mapSize, int complexLevel) { int i; var map = new DungeonData(mapSize); for (i = 1; map.DoGenerate(complexLevel) == false && i <= MaxRebuildCount; i++) { //正常に生成されるまで繰り返す System.Diagnostics.Debug.WriteLine("ダンジョンの生成に失敗しました。再試行します... [" + i.ToString() + " 回目]"); } if (i > MaxRebuildCount) { //作り直しの限界数に達した場合は中止する MessageBox.Show("ランダム生成中に何らかの問題があったため、処理を中断します。\r\n生成オプションを確認して下さい。", Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(null); } return(map); }