예제 #1
0
        static void Main(string[] args)
        {
            var t1 = new Tower {
                Name = "Tower 1", Verbose = true
            };
            var t2 = new Tower {
                Name = "Tower 2", Verbose = true
            };
            var t3 = new Tower {
                Name = "Tower 3", Verbose = true
            };

            t1.Add(6);
            t1.Add(5);
            t1.Add(4);
            t1.Add(3);
            t1.Add(2);
            t1.Add(1);

            Console.WriteLine("BEFORE GAME");
            t1.PrintTower();
            t2.PrintTower();
            t3.PrintTower();

            Console.WriteLine("MOVING DISKS");
            t1.MoveDisks(t1.Count, dest: t2, buffer: t3);

            Console.WriteLine("AFTER GAME");
            t1.PrintTower();
            t2.PrintTower();
            t3.PrintTower();

            Console.WriteLine("MOVING DISKS BACK TO ORIGINAL");
            t2.MoveDisks(t2.Count, dest: t1, buffer: t3);

            Console.WriteLine("AFTER GAME");
            t1.PrintTower();
            t2.PrintTower();
            t3.PrintTower();
        }
예제 #2
0
        public void MoveTopToTower(Tower dest)
        {
            int move = Disks.Pop();

            dest.Add(move);
        }