Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
            sw.Start();
            TowerOfHanoi tower = new TowerOfHanoi();
            string       sNumdisc;

            Console.WriteLine("Enter the number of discs: ");
            sNumdisc = Console.ReadLine();

            // tower.dicsNumbers = Convert.ToInt32(sNumdisc);
            if (int.TryParse(sNumdisc, out int n))
            {
                tower.dicsNumbers = n;
            }
            else
            {
                // sNumdisc = "10";
                // tower.dicsNumbers = 10;
                Console.WriteLine("Please Numbers only");
                return;
            }
            Console.WriteLine($"Count : {tower.MoveTower(tower.dicsNumbers, 1, 3, 2)}");
            Console.WriteLine(Math.Pow(2, Convert.ToInt32(sNumdisc)) - 1);
            sw.Stop();
            Console.WriteLine($"End Time : {sw.Elapsed.ToString()}");
            Console.ReadLine();
        }
Ejemplo n.º 2
0
 /// <summary>
 ///  Private method to test gameplay
 /// </summary>
 private void benchmark()
 {
     try
     {
         if (this.n == 0)
         {
             for (int n = 1; n < 10 + 1; n++)
             {
                 TowerOfHanoi hanoi = new TowerOfHanoi();
                 Dictionary <movement, int> stat = hanoi.simulate(n);
                 var lines = stat.Select(kvp => "Movement " + kvp.Key.fromPeg + " to " + kvp.Key.toPeg + ": " + kvp.Value.ToString());
                 Console.WriteLine("Movements for " + n + " disks" + " => \n" + string.Join("\n", lines));
             }
         }
         else
         {
             TowerOfHanoi hanoi = new TowerOfHanoi();
             Dictionary <movement, int> stat = hanoi.simulate(this.n);
             var lines = stat.Select(kvp => "Movement " + kvp.Key.fromPeg + " to " + kvp.Key.toPeg + ": " + kvp.Value.ToString());
             Console.WriteLine(n + " => " + string.Join("\n", lines));
         }
         Debug.Assert(getExpectedNumber(2, 5, 1, 3, 5) == 60);
         Debug.Assert(getExpectedNumber(3, 20, 4, 9, 17) == 2358);
     }
     catch (Exception ex)
     {
         errorTrace = "Problem@benchmark";
         throw;
     }
 }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            var game = new TowerOfHanoi();

            game.Play();
            Console.ReadLine();
        }
Ejemplo n.º 4
0
        static void Main()
        {
            // Number of disks
            int n = int.Parse(Console.ReadLine());

            var tower = new TowerOfHanoi(n);
            tower.Solve();
        }
Ejemplo n.º 5
0
        public QLearning(TowerOfHanoi puzzle, int numberOfDisks)
        {
            _Puzzle        = puzzle;
            _NumberOfDisks = numberOfDisks;

            _Generator = new StateGenerator();

            Init(_NumberOfDisks);
        }
Ejemplo n.º 6
0
        public QLearning(TowerOfHanoi puzzle, int numberOfDisks)
        {
            _Puzzle = puzzle;
            _NumberOfDisks = numberOfDisks;

            _Generator = new StateGenerator();

            Init(_NumberOfDisks);
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            TowerOfHanoi Tower = new TowerOfHanoi();
            string       cnumdiscs;

            Console.WriteLine("Enter the number of the disks");
            cnumdiscs      = Console.ReadLine();
            Tower.numdiscs = Convert.ToInt32(cnumdiscs);
            Tower.movetower(Tower.numdiscs, 1, 3, 2);
            Console.ReadLine();
        }
Ejemplo n.º 8
0
        public void TestSolve()
        {
            int n;

            if (!string.IsNullOrEmpty((string)TestContext.DataRow["n"]))
            {
                bool isNumeric = int.TryParse((string)TestContext.DataRow["n"], out n);
                if (isNumeric)
                {
                    TowerOfHanoi.TowerOfHanoi  towerOfHanoi = new TowerOfHanoi.TowerOfHanoi();
                    Dictionary <movement, int> stat         = towerOfHanoi.simulate(n);

                    Assert.IsTrue(stat.Count > 0);
                }
            }
        }
Ejemplo n.º 9
0
 static void Main(string[] args)
 {
     //testcases
     TowerOfHanoi.move(3, 1, 3, 2);
 }