/// <summary> /// 迷路を作成する。 /// </summary> internal void Make() { if (!MazeCreater.CheckMazeSetting(this.SizeX, this.SizeY, this.StartX, this.StartY, this.GoalX, this.GoalY, out string strErrorMessage, out MazeErrorType? errorType)) { throw new MazeException(strErrorMessage, errorType.Value); } this.FieldArray = new MazeFieldArray(this.SizeX, this.SizeY); //シード値がマイナス値の場合はシード値をランダムに作成する。 Random randomSeed = new Random(); if (this.Seed < 0) { this.Seed = randomSeed.Next(); } this.random = new Random(this.Seed); this.MakeInit(); this.MakeMain(); this.MakeFinalize(); }
/// <summary> /// 迷路の設定が適切かどうか確かめます。 /// </summary> /// <param name="sizeX">Xサイズ</param> /// <param name="sizeY">Yサイズ</param> /// <param name="strErrorMessage">エラーメッセージ</param> /// <param name="errorType">エラーの種類</param> /// <returns>true 適切である, false 適切でない</returns> public static bool CheckMazeSetting(int sizeX, int sizeY, out string strErrorMessage, out MazeErrorType?errorType) { return(MazeCreater.CheckMazeSetting(sizeX, sizeY, 2, 2, sizeX - 3, sizeY - 3, out strErrorMessage, out errorType)); }