Dokumentacja programu Sudoku Killer
Opis formatu pliku sudoku.data
Program Sudoku Killer do swojego działania potrzebuje pliku sudoku.data. Plik jest bazą danych z planszami sudoku oraz stanem rozwiązania każdej planszy.
Plik powinien znajdować się w bieżącym katalogu roboczym programu, czyli tym samym co plik SudokuKiller.exe. Sudoku.data wczytywane jest w całości do pamięci
operacyjnej przy starcie programu i zapisywany/uaktualniany przy zakończeniu.
Jedna linia w pliku sudoku.data zawiera dane dla jednej planszy w programie Sudoku Killer. Inaczej mówiąc po uruchomieniu programu ilość linii w pliku .data równa się ilości dostępnych sudoku do rozwiązania.
Nowe linie w pliku powstają po wprowadzeniu nowego sudoku lub zmodyfikowaniu wzorca bieżącego sudoku i wciśnięciu przycisku „Zapisz”.
Można własnoręcznie edytować plik przy użyciu notatnika, jednak pomyłka w formacie pliku spowoduje błędy w programie. W przypadku uszkodzenia pliku możesz pobrać oryginalny z
wersji instalacyjnej [tutaj]. Do rozdzielania pól w każdej linii służy znak pajpy „|”. Ważna jest kolejność wypełniania.
Pierwsze dziewięć cyfr to pierwszy kwadrat na planszy sudoku. Kolejność znaków w polach „Wzorzec”, „Typ” i „Stan” odwzorowuje rysunek poniżej.
Opis pojedynczej linii w pliku sudoku.data:
81 znaków - pole nr 1 - Wzorzec;
1 znak - pajpa separator pól;
81 znaków - pole nr 2 - Typ;
1 znak - pajpa separator pól;
81 znaków - pole nr 3 - Stan;
1 znak - pajpa separator pól;
1/(wiele znaków) - pole nr 4 - Numer sudoku;
<CR><LF> - znaki końca lini pliku tekstowego.
Pole nr 1 - Wzorzec. Długość pola wynosi 81 znaków. Każdy znak odwzorowuje kolejne pola planszy sudoku. 9 x 9 = 81 pól. Każdy znak może przyjąć wartości od 1-9 lub spację.
Pojedynczy znak określa jedną cyfrę na planszy. Spacja oznacza brak cyfry. Pole wzorzec jest to baza gotowych do rozwiązania sudoku.
Pole nr 2 – Typ. Długość 81 znaków. Możliwe cztery wartości znakowe:
p – puste pole. Oznacza, że w kwadracie, na planszy sudoku nie ma cyfry. W polu „Wzorzec” i „Stan” w miejscu znaku „p” jest spacja.
w – wzorzec. Oznacza, że na planszy ten kwadrat posiada wartość wprowadzoną przy tworzeniu nowego sudoku. Wartość (cyfra od 1 do 9) jest wypełniona w polu „Wzorzec” i powielona w polu „Stan”
u – wypełnione przez użytkownika. Jeśli użytkownik na istniejącym sudoku wprowadził swoje cyfry w pustych polach i zamknął program wtedy wypełniane jest „u”. Cyfra wprowadzona przez użytkownika zapamięta jest w polu „Stan”.
h – podpowiedź. Jeśli użytkownik skorzystał z przycisków „Rozwiąż”, „Podpowiedz możliwe” lub „>>” i zamknął program. Wtedy zapisywany jest znak „h” na odpowiedniej pozycji, a w polu „Stan” zapisywana jest wartość (czyli cyfra od 1 do 9).
Pole nr 3 – Stan. Długość pola wynosi 81 znaków. Każdy znak może przyjmować cyfry od 1-9 lub spację. Służy do zapamiętania stanu planszy po zamknięciu programu. Odwzorowuje aktualne wypełnienie wszystkich kwadratów planszy sudoku z uwzględnieniem typów opisanych w polu nr 2 – Typ.
Pole nr 4 – Numer Sudoku. Numer sudoku jest na stałe przypisany do konkretnego sudoku. Nie może się powtarzać – brak duplikatów. Nie musi być ciągły i nie musi być w kolejności. Nie jest numerem linii w pliku. Użycie w programie przycisku „Usuń” może powodować „dziury” w numeracji.