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