public void HanoiHeeftEindToren() { var hanoi = new Hanoi(5); Toren toren = hanoi.EindToren; Assert.NotNull(toren); }
public void Play() { Hanoi hanoi = new Hanoi(5); int moves = hanoi.Start(); Assert.AreEqual(31, moves); }
public void InsertSimulador(string inicio, string fim, long SimuladorId, int QtdDiscosinicial) { try { HanoiwebApi.api.HanoisController HanoiwebApi = new HanoiwebApi.api.HanoisController(); Hanoi hanoi = new Hanoi(); hanoi.id_simulacao = SimuladorId; hanoi.qtddiscosInicial = QtdDiscosinicial; hanoi.movimento_De = inicio.ToString(); hanoi.movimento_Para = fim.ToString(); hanoi.data_inicio_simulacao = DateTime.Now; if (String.IsNullOrEmpty(inicio)) { hanoi.data_fim_simulacao = DateTime.Now; } else { hanoi.data_fim_simulacao = null; } var response = HanoiwebApi.PostHanoi(hanoi); } catch (Exception e) { Console.WriteLine("Log Erro" + e); } }
public void BovensteSchijfInNieuweStartTorenHeeftDiameter1(int aantalSchijven) { var hanoi = new Hanoi(aantalSchijven); var toren = hanoi.StartToren; Assert.Equal(1, toren.BovensteSchijf.Diameter); }
static void Main(string[] args) { Hanoi hanoi = new Hanoi(); int opcion; Console.WriteLine("MENU TORRES DE HANOI"); Console.WriteLine("1. Calcular y Desplegar Total de Movimientos"); Console.WriteLine("2. Salir" + '\n'); Console.Write("Selecciona una opcion: "); opcion = int.Parse(Console.ReadLine()); switch (opcion) { case 1: opcion = 1; { Console.Clear(); int num; string origen = "Torre 1"; string auxiliar = "Torre 2"; string destino = "Torre 3"; Console.Write("Ingresa la cantidad de anillos: "); num = int.Parse(Console.ReadLine()); hanoi.TorresDeHanoi(num, origen, auxiliar, destino); Console.WriteLine("Movimientos realizados: {0}", cont); break; } case 2: opcion = 2; { Console.Clear(); break; } } Console.WriteLine("Pulsa cualquier tecla para salir"); Console.ReadKey(); }
public void HanoiHeeftMiddelsteToren() { var hanoi = new Hanoi(5); Toren toren = hanoi.MiddelsteToren; Assert.NotNull(toren); }
public void TopLevelDiscInNewStartTowerHasDiameter1(int discCount) { var hanoi = new Hanoi(discCount); var Tower = hanoi.StartTower; Assert.Equal(1, Tower.TopLevelDisc.Diameter); }
public void HanoiHasEndTower() { var hanoi = new Hanoi(5); Tower Tower = hanoi.EndTower; Assert.NotNull(Tower); }
public void HanoiHasMiddleTower() { var hanoi = new Hanoi(5); Tower Tower = hanoi.MiddleTower; Assert.NotNull(Tower); }
public static void main() { int n = int.Parse(Console.ReadLine()); Hanoi h = new Hanoi(); h.hanoi(n, 'a', 'b', 'c'); }
public Hanoi StartHanoi() { var oHanoi = new TorreDeHanoi(3); oHanoi.torreId = Hanoi.Count(); Hanoi.Add(oHanoi); return(oHanoi); }
private void MoveHanoi(Hanoi hanoi) { MovePins(hanoi.Data.NumberDiscs, 'A', 'C', 'B'); hanoi.Moves.AddRange(moves); hanoi.Data.FinalDateTime = DateTime.Now; hanoi.Status = "Finished"; hanoiRepository.Update(hanoi); }
public void Data_SelfValidation_Null_IsNoValid() { var hanoi = new Hanoi { }; var result = hanoi.IsValid(); Assert.IsFalse(result); Assert.IsTrue(hanoi.ValidationResult.Erros.Any(e => e.Message == ErrorMessages.HanoiMustHaveStatusErrorMessage)); }
public void SolveHanoiWith1Disc() { var hanoi = new Hanoi(1); var Disc = hanoi.StartTower.TakeDisc(); hanoi.EndTower.LayDiscOnTop(Disc); Assert.Null(hanoi.StartTower.TopLevelDisc); // the first Tower is empty when solution is found Assert.Null(hanoi.MiddleTower.TopLevelDisc); // the second Tower is empty when solution is found Assert.NotNull(hanoi.EndTower.TopLevelDisc); // the third Tower contains at least 1 Disc when solution is found Assert.Same(Disc, hanoi.EndTower.TopLevelDisc); // the top level Disc of the third Tower is the Disc from the start of the game }
public void LosHanoiOpMet1Schijf() { var hanoi = new Hanoi(1); var schijf = hanoi.StartToren.NeemSchijf(); hanoi.EindToren.LegSchijf(schijf); Assert.Null(hanoi.StartToren.BovensteSchijf); // de eerste toren is leeg na oplossen Assert.Null(hanoi.MiddelsteToren.BovensteSchijf); // de tweede toren is leeg na oplossen Assert.NotNull(hanoi.EindToren.BovensteSchijf); // de derde toren bevat minstens 1 schijf na oplossen Assert.Same(schijf, hanoi.EindToren.BovensteSchijf); // de bovenste schijf van de derde toren is de schijf waarmee werd gestart }
public Hanoi Add(Hanoi hanoi) { if (hanoi == null) { throw new ArgumentNullException("Torre de Hanói nulo."); } hanois.Add(hanoi); return(hanoi); }
/// <summary> /// Détection de collision (Rigidbody2D) /// Ici, quand l'object tombe sur le sol, reset du pointeurFil (pour avoir à le resélectionner). /// </summary> /// <param name="collision"></param> private void OnCollisionEnter2D(Collision2D collision) { if (pointeurFil != null && pointeurFil.GetComponent <Rigidbody2D>().gravityScale == 1f) { locked = false; // fin mouvement (bas / gravité) => déblocage pointeurFil = null; if (tours[2].Count == 3) // victoire { SceneManager.LoadScene("SortieAAAAA"); } } }
public void Data_SelfValidation_IsValid() { var hanoi = new Hanoi { Id = Guid.NewGuid(), Status = "Finished" }; var result = hanoi.IsValid(); Assert.IsTrue(result); }
public void HanoiStartTowerContainsDiscCount(int discCount) { var hanoi = new Hanoi(discCount); var Tower = hanoi.StartTower; // Take disks off of the tower until the tower should be empty for (int i = 0; i < discCount; i++) { Assert.NotNull(Tower.TopLevelDisc); Tower.TakeDisc(); } Assert.Null(Tower.TopLevelDisc); }
public void HanoiStartTorenBevatJuistAantalSchijven(int aantalSchijven) { var hanoi = new Hanoi(aantalSchijven); var toren = hanoi.StartToren; // Haal schijven van de toren tot de toren leeg zou moeten zijn. for (int i = 0; i < aantalSchijven; i++) { Assert.NotNull(toren.BovensteSchijf); toren.NeemSchijf(); } Assert.Null(toren.BovensteSchijf); }
public async Task <IHttpActionResult> PostHanoi(Hanoi hanoi) { try { db.Hanoi.Add(hanoi); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = hanoi.id_ }, hanoi)); } catch (Exception e) { return(Ok(e));//CreatedAtRoute("DefaultApi", new { id = hanoi.id_ }, hanoi); } }
public async Task Proccess(ProccessHanoiCommand command) { _hanoi = await _hanoiRepository.GetByGuidAsync(command.HanoiId); Trace.Write($"Start processing Hanoi {_hanoi.Id}"); var start = new Tower(_hanoi.TotalDisks); var mid = new Tower(ETowerPosition.End); var end = new Tower(ETowerPosition.Mid); await SolveTower(_hanoi.TotalDisks, start, end, mid); _hanoi.EndHanoi(); _hanoiRepository.NoTransactionUpdate(_hanoi); Trace.Write($"End processing Hanoi {_hanoi.Id}"); }
int totalTowers; //just used for display purposes; used to calculate turn max. please delete if the text display is gone public MainWindow() { InitializeComponent(); // You can set window properties in code this.Title = "Towers Of Hanoi Solver"; this.WindowStartupLocation = WindowStartupLocation.CenterScreen; //Default Initialize the Hanoi Tower totalTowers = 3; HanoiObj = new Hanoi(3); Display_Towers_Status_Message(null, null); //Update visual display with our HanoiObj UpdateTowersWithHanoi(); }
public static void Main(String[] args) { int n = 3; Console.WriteLine("Enter number of rings: "); n = Convert.ToInt32(Console.ReadLine()); Hanoi tower = new Hanoi(); Stack src, dest, aux; src = tower.createStack(n); dest = tower.createStack(n); aux = tower.createStack(n); tower.solve(n, src, dest, aux); }
public void SolveHanoiWith2Discs() { var hanoi = new Hanoi(2); var Disc = hanoi.StartTower.TakeDisc(); // solve hanoi.MiddleTower.LayDiscOnTop(Disc); Disc = hanoi.StartTower.TakeDisc(); hanoi.EndTower.LayDiscOnTop(Disc); Disc = hanoi.MiddleTower.TakeDisc(); hanoi.EndTower.LayDiscOnTop(Disc); // Check whether the solution is correct Assert.Null(hanoi.StartTower.TopLevelDisc); // the first Tower is empty when solution is found Assert.Null(hanoi.MiddleTower.TopLevelDisc); // the second Tower is empty when solution is found Assert.NotNull(hanoi.EndTower.TopLevelDisc); // the third Tower contains at least 1 Disc when solution is found }
private void ChangeGameState() { FirstTower.Discs.Clear(); SecondTower.Discs.Clear(); ThirdTower.Discs.Clear(); int discCount = GameControl.NumberOfDiscs; model = new Hanoi(discCount); FirstTower.SetTower(model.StartTower); SecondTower.SetTower(model.MiddleTower); ThirdTower.SetTower(model.EndTower); FirstTower.IsPlayedManually = GameControl.IsPlayManuallyChecked; SecondTower.IsPlayedManually = GameControl.IsPlayManuallyChecked; ThirdTower.IsPlayedManually = GameControl.IsPlayManuallyChecked; SetAllowTakeDisc(GameControl.IsPlayManuallyChecked); }
public void LosHanoiOpMet2Schijven() { var hanoi = new Hanoi(2); var schijf = hanoi.StartToren.NeemSchijf(); // los op hanoi.MiddelsteToren.LegSchijf(schijf); schijf = hanoi.StartToren.NeemSchijf(); hanoi.EindToren.LegSchijf(schijf); schijf = hanoi.MiddelsteToren.NeemSchijf(); hanoi.EindToren.LegSchijf(schijf); // Controleer of de oplossing juist kan zijn Assert.Null(hanoi.StartToren.BovensteSchijf); // de eerste toren is leeg na oplossen Assert.Null(hanoi.MiddelsteToren.BovensteSchijf); // de tweede toren is leeg na oplossen Assert.NotNull(hanoi.EindToren.BovensteSchijf); // de derde toren bevat minstens 1 schijf na oplossen }
public static void Case1() { int count = 4; int s = 1; int x = 2; int d = 3; Console.WriteLine("recursive version:"); Hanoi.Move(count, s, d, x); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("non-recursive version:"); HanoiNR.Move(count, s, d, x); }
public Hanoi Update(Hanoi hanoi) { if (hanoi == null) { throw new ArgumentNullException("Torre de Hanói nulo."); } int hanoiIndex = hanois.FindIndex(p => p.Id == hanoi.Id); if (hanoiIndex == -1) { throw new ArgumentNullException("Torre de Hanói não localizado."); } hanois.RemoveAt(hanoiIndex); hanois.Add(hanoi); return(hanoi); }
//and at last we will have to use our Hanoi Class to juggle?! //coded and solved by mohammad safari!:\ static void Main(string[] args) { Console.WriteLine("\nEnter disk numbers, please:"); //told that cap is important:\ //(may be not that important, just my gut feelings:|) int n = Convert.ToInt32(Console.ReadLine()); Hanoi.set_disk_num(n); Hanoi.initialize_Hanoi(Hanoi.A); Hanoi.Solve_Iterative(Hanoi.A, Hanoi.B, Hanoi.C); //da dan...!:) //by m. safari //hope you enjoy! //only for comparison: //Hanoi.Solve_Recursive(n); //p.s : recursive one only lack disk num that we can //perform it by arrays that i thought might not be //necessary for comparing }
public string Get(int number, string source, string aux, string destination) { Hanoi h = new Hanoi(); return h.MoveDisks(number, source, aux, destination); }