public VisualHanoiTower() { _columnSize = Math.Max(6, GetDiscWidth(DISCS_COUNT) + 2); var algorithm = new HanoiTower(DISCS_COUNT); algorithm.MoveCompleted += Algorithm_Visualize; Algorithm_Visualize(algorithm, EventArgs.Empty); algorithm.Start(); }
private static char[][] InitializeVisualization(HanoiTower algorithm) { var visualization = new char[algorithm.DiscsCount][]; for (int y = 0; y < visualization.Length; y++) { visualization[y] = new char[_columnSize * 3]; for (int x = 0; x < _columnSize * 3; x++) { visualization[y][x] = ' '; } } return(visualization); }