Ejemplo n.º 1
0
 private void btnRemoveTable_Click(object sender, RoutedEventArgs e)
 {
     //Levesszük az összes királynőt a tábláróé
     RemoveQueenFromChessTable();
     //A lépéseket nullázuk
     _step = 0;
     //A példányt nullázuk
     _queen_alg = null;
     //Üresre tesszüka kezdő poziciót
     tbFirstQueenPosition.Text = "";
     //Engedélyezzük a bevíteli mezőt
     tbFirstQueenPosition.IsEnabled = true;
     //Engedélyezzük a startgombot
     btnStart.IsEnabled = true;
     //letiltjuk tábla törlése gombot
     btnRemoveTable.IsEnabled = false;
 }
Ejemplo n.º 2
0
 //Start gomb
 private void btnStart_Click(object sender, RoutedEventArgs e)
 {
     //A kezdő pozicióhoz egy két elemes int tömb
     int[] pos = new int[2];
     //a tbFirstQueenPosition-ben megafott Betű - Szám párost átkovertája indexekké ha 9 9 a tömb tartalma akkor érvénytelen a pozició
     pos = QueenAlgorythm.GetNumPosition(tbFirstQueenPosition.Text);
     //HA üres a tbFirstQueenPosition akkor egy random pozicióval kezd
     if (tbFirstQueenPosition.Text == string.Empty)
     {
         Random rnd = new Random();
         pos[0] = rnd.Next(0, 7);
         pos[1] = rnd.Next(0, 7);
         MessageBox.Show($"Nem adott meg kezdő helyet!\nRandom hely: {QueenAlgorythm.GetAlpPostion(pos)}", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
     }
     else
     {   //Ha van benne érték akkor valid ha nem 99  különben vége a metódusnak
         bool isValid = pos[0] != 99 && pos[1] != 99;
         if (!isValid)
         {
             MessageBox.Show($"Érvénytelen helyet adott meg!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
             return;
         }
     }
     //LEtiltjuk a kezdő pozició bevíteli mezőjét
     tbFirstQueenPosition.IsEnabled = false;
     //letiltjuk a start gombot
     btnStart.IsEnabled = false;
     //példányosítjuk az algoritmust, a kezdő pozicióval
     _queen_alg = new QueenAlgorythm(pos[0], pos[1]);
     //Meghívjuk a Solve metódust az elkészíti az összes lépést
     _queen_alg.Solve();
     //beállítjuk az időzítő sebességét
     _timer.Interval = TimeSpan.FromMilliseconds(1000 - sSpeed.Value);
     //elindítjuk az időzítőt
     _timer.Start();
 }