コード例 #1
0
        public void moveTorre(int num, int de, int vai, int outra, Action <int, int, int, int> callback)
        {
            if (num == 1)
            {
                callback(hanoiId, num - 1, de - 1, vai - 1);
                Thread.Sleep(1000);
            }
            else
            {
                moveTorre(num - 1, de, outra, vai, callback);

                gravaRegistro grava = new gravaRegistro();
                grava.inicio = incio;
                grava.num    = num;
                grava.de     = de;
                grava.vai    = vai;
                grava.gravaRest();
                grava.gravaLog();

                //Console.WriteLine("Mover disco {0} da torre {1} para torre {2}", num, de, vai);

                //using (StreamWriter writer = new StreamWriter(Directory.GetCurrentDirectory() + @"\log.txt", true))
                //{
                //    writer.WriteLine("Mover disco {0} da torre {1} para torre {2}", num, de, vai);
                //}

                moveTorre(num - 1, outra, vai, de, callback);
            }
        }
コード例 #2
0
        public void moveTorre(int num, int de, int vai, int outra)
        {
            if (num > 0)
            {
                moveTorre(num - 1, de, outra, vai);

                gravaRegistro grava = new gravaRegistro();
                grava.inicio = incio;
                grava.num    = num;
                grava.de     = de;
                grava.vai    = vai;
                grava.gravaRest();
                grava.gravaLog();

                Console.WriteLine("Mover disco {0} da torre {1} para torre {2}", num, de, vai);

                //using (StreamWriter writer = new StreamWriter(Directory.GetCurrentDirectory() + @"\log.txt", true))
                //{
                //    writer.WriteLine("Mover disco {0} da torre {1} para torre {2}", num, de, vai);
                //}

                moveTorre(num - 1, outra, vai, de);
            }
        }