Files
ordinaceprojekt/SběrDatRůzné/DailySudoku/NOTES.md
T
Vladimir Buzalka c9903646f1 notebookvb
2026-05-08 13:30:47 +02:00

50 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DailySudoku — technické poznámky
## Přehled skriptů
| Skript | Popis |
|--------|-------|
| `preskumaj_sudoku.py` | Průzkumný — vytáhne `gameLevels` z JS kontextu stránky |
| `stahni_sudoku.py` | Stáhne data z webu a uloží do MySQL (celý rok najednou) |
| `vykresli_sudoku.py` | Generuje PDF z dat v MySQL (reportlab, vektorové) |
## Zdroj dat
Stránka: https://www.solitaire.org/daily-sudoku/
Stejná architektura jako ostatní puzzle — `game.php` načte `gameLevels` s daty pro celý rok (366 dní × 4 obtížnosti). Klíče `"MM-DD"`, bez roku.
## Obtížnosti
| Obtížnost | Mřížka |
|-----------|--------|
| easy | 9×9 |
| medium | 9×9 |
| hard | 9×9 |
| expert | 9×9 |
## Datová struktura `gameLevels`
Každý záznam je objekt `{board, solution}`:
```json
{
"board": "2.78..3.6..5......39.614.7...",
"solution": "247895316165723984398614275..."
}
```
- `board` = zadání, 81 znaků (9×9), tečka = prázdná buňka
- `solution` = řešení, 81 znaků číslic 19
## MySQL tabulka `puzzle.puzzles`
Sdílená tabulka s ostatními puzzle. Pro Sudoku:
- `game_type` = `'sudoku'`
- `difficulty` = `'easy'` / `'medium'` / `'hard'` / `'expert'`
- `puzzle` = board string (zadání s tečkami)
- `solution` = solution string (řešení)
- `extra` = `{"grid_size": 9}`
- `source` = `'solitaire.org'`
Stav: celý rok 2026 naplněn (1460 řádků = 365 dní × 4 obtížnosti).