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); } }
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); } }