private void btnColorize_Click(object sender, EventArgs e) { if (cbAlgorithm.SelectedItem != null) { IColoredGrid colorGrid = new ColoredGrid(MazeSize, MazeSize); if (pbMask.Image != null) { var mask = maze.Core.Mask.FromBitmap((Bitmap)pbMask.Image); colorGrid = new MaskedColoredGrid(mask); } if (!CreateSelectedMaze(colorGrid)) { return; } Cell start; if (_startPoint.HasValue) { start = colorGrid[_startPoint.Value.Y, _startPoint.Value.X]; } else if (colorGrid is MaskedColoredGrid) { start = colorGrid.RandomCell(); } else { start = colorGrid[colorGrid.Rows / 2, colorGrid.Columns / 2]; } colorGrid.Distances = start.Distances; colorGrid.BackColor = pbColor.BackColor; pbMaze.Image = colorGrid.ToImg(GridSize, (float)nudInset.Value); } }
private void button3_Click(object sender, EventArgs e) { if (cbAlgorithm.SelectedItem != null) { var colorGrid = new ColoredGrid(10, 10); if ((string)cbAlgorithm.SelectedItem == "BinaryTree") { BinaryTree.Maze(colorGrid, (int)numericUpDown1.Value); } else if ((string)cbAlgorithm.SelectedItem == "Sidewinder") { Sidewinder.Maze(colorGrid, (int)numericUpDown1.Value); } var start = colorGrid[0, 0]; var distances = start.Distances; var(newStart, distance) = distances.Max; start = newStart; distances = start.Distances; var(end, distance2) = distances.Max; colorGrid.Distances = start.Distances; colorGrid.BackColor = pbColor.BackColor; pB.Image = colorGrid.ToPn(start, end); } }
private ColoredGrid GenerateMaze(int rows, int columns) { var grid = new ColoredGrid(rows, columns); var maze = RecursiveBackTracker.GenerateMaze(grid); return(maze); }
public void TestBinaryTreeColoredGrid() { var coloredGrid = new ColoredGrid(25, 25); Sidewinder.On(coloredGrid); coloredGrid.Distances = coloredGrid.GetCenterCell().Distances; coloredGrid.ToBitmap().Save("sidewinder-colored.png"); }
public void TestGrowingTreeColored() { var coloredGrid = new ColoredGrid(25, 25); GrowingTree.On(coloredGrid); coloredGrid.Distances = coloredGrid.GetCenterCell().Distances; coloredGrid.ToBitmap().Save("growingtree-colored.png"); }
public void TestHuntAndKillColored() { var coloredGrid = new ColoredGrid(25, 25); HuntAndKill.On(coloredGrid); coloredGrid.Distances = coloredGrid.GetCenterCell().Distances; coloredGrid.ToBitmap().Save("huntandkill-colored.png"); }
public void TestRecursiveBacktrackerColored() { var coloredGrid = new ColoredGrid(25, 25); RecursiveBacktracker.On(coloredGrid); coloredGrid.Distances = coloredGrid.GetCenterCell().Distances; coloredGrid.ToBitmap().Save("recursivebacktracker-colored.png"); }
public void TestRecursiveDivisionColoredGrid() { var coloredGrid = new ColoredGrid(25, 25); RecursiveDivision.On(coloredGrid); coloredGrid.Distances = coloredGrid.GetCenterCell().Distances; coloredGrid.ToBitmap().Save("recursivedivision-colored.png"); }
public void TestAldousBroderColored() { var coloredGrid = new ColoredGrid(25, 25); AldousBroder.On(coloredGrid); coloredGrid.Distances = coloredGrid.GetCenterCell().Distances; coloredGrid.ToBitmap().Save("aldousbroder-colored.png"); }
public void TestWilsonsColoredGrid() { var coloredGrid = new ColoredGrid(25, 25); Wilsons.On(coloredGrid); coloredGrid.Distances = coloredGrid.GetCenterCell().Distances; coloredGrid.ToBitmap().Save("wilsons-colored.png"); }
private ColoredGrid ShortestPath(ColoredGrid maze) { var start = maze.GetCenterCell(); var distances = start.Distances(); maze.Distances = distances; //maze.Distances = distances.PathTo(maze.GetCell(maze.Rows - 1, maze.Columns - 1)); return(maze); }
private ColoredGrid LongestPath(ColoredGrid maze) { var start = maze.GetCell(0, 0); var distances = start.Distances(); var(newStart, _) = distances.Max(); var newDistances = newStart.Distances(); var(goal, _) = newDistances.Max(); maze.Distances = newDistances.PathTo(goal); return(maze); }
public void TestInit() { grid = new ColoredGrid(5, 5); }