Exemple #1
0
        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();
        }
Exemple #2
0
        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);
        }