Example #1
0
 public SudokuSpielfeld(SudokuSpielfeld spielfeld)
 {
     _zellen = new SudokuZelle[9, 9];
     _ui     = new Ui();
     for (int x = 0; x < 9; x++)
     {
         for (int y = 0; y < 9; y++)
         {
             _zellen[x, y] = new SudokuZelle(spielfeld._zellen[x, y], x, y);
         }
     }
 }
Example #2
0
        static void Main(string[] args)
        {
            var spielfeld = new SudokuSpielfeld();

            var zahlen = new int[, ]
            {
                { 0, 0, 0, 2, 0, 6, 0, 0, 0 },
                { 0, 0, 1, 0, 9, 0, 8, 0, 0 },
                { 0, 8, 0, 1, 4, 5, 0, 3, 0 },
                { 8, 0, 3, 0, 0, 0, 5, 0, 4 },
                { 0, 1, 9, 0, 0, 0, 6, 2, 0 },
                { 4, 0, 7, 0, 0, 0, 1, 0, 9 },
                { 0, 5, 0, 7, 3, 1, 0, 4, 0 },
                { 0, 0, 4, 0, 6, 0, 7, 0, 0 },
                { 0, 0, 0, 4, 0, 2, 0, 0, 0 }
            };

            spielfeld.SetzeZahlen(zahlen);

            spielfeld.Loesen();
            Console.ReadKey();
        }
Example #3
0
        private void LoeseRekursiv()
        {
            var zellen = GetZellenNachAnzahlWerten();

            foreach (var zelle in zellen)
            {
                foreach (var wert in zelle.MoeglicheWerte)
                {
                    var spielfeldKopie = new SudokuSpielfeld(this);
                    spielfeldKopie.SetzeZahl(zelle.PositionX, zelle.PositionY, wert);
                    _geloest = spielfeldKopie.Loesen();

                    if (_geloest)
                    {
                        Console.WriteLine("");
                        Console.WriteLine("Gelöstes Sudoku:");
                        _ui.ZeicheGrid(spielfeldKopie);
                        _geloest = true;
                        return;
                    }
                }
            }
        }