notebookvb
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# DailySuguru — technické poznámky
|
||||
|
||||
## Přehled skriptů
|
||||
|
||||
| Skript | Popis |
|
||||
|--------|-------|
|
||||
| `preskumaj_suguru.py` | Průzkumný — vytáhne `gameLevels` z JS kontextu stránky |
|
||||
| `stahni_suguru.py` | Stáhne data z webu a uloží do MySQL (celý rok najednou) |
|
||||
| `vykresli_suguru.py` | Generuje PDF z dat v MySQL (reportlab, vektorové) |
|
||||
|
||||
## Zdroj dat
|
||||
|
||||
Stránka: https://www.solitaire.org/daily-suguru/
|
||||
|
||||
Stejná architektura jako ostatní puzzle — `game.php` načte `gameLevels` s daty pro celý rok (366 dní × 3 velikosti). Klíče `"MM-DD"`, bez roku.
|
||||
|
||||
## Obtížnosti (velikosti mřížek)
|
||||
|
||||
| Klíč | Rozměr |
|
||||
|------|--------|
|
||||
| 6x6 | 6×6 |
|
||||
| 8x8 | 8×8 |
|
||||
| 10x10 | 10×10 |
|
||||
|
||||
## Datová struktura `gameLevels`
|
||||
|
||||
Každý záznam je objekt `{colors, clues, solution}`:
|
||||
|
||||
- `colors` = skupiny buněk (písmena A–Z), flat string řádek po řádku
|
||||
- `clues` = nápovědy, tečka = prázdná buňka
|
||||
- `solution` = řešení, flat string číslic
|
||||
|
||||
Pravidla Suguru: každá skupina velikosti N obsahuje čísla 1–N, žádné dvě sousední buňky (včetně diagonálně) nesmí mít stejné číslo.
|
||||
|
||||
## MySQL tabulka `puzzle.puzzles`
|
||||
|
||||
Sdílená tabulka s ostatními puzzle. Pro Suguru:
|
||||
- `game_type` = `'suguru'`
|
||||
- `difficulty` = `'6x6'` / `'8x8'` / `'10x10'`
|
||||
- `puzzle` = `colors|clues` (dva stringy spojené `|`)
|
||||
- `solution` = flat string řešení
|
||||
- `extra` = `{"grid_size": 6}` / `8` / `10`
|
||||
- `source` = `'solitaire.org'`
|
||||
|
||||
Stav: celý rok 2026 naplněn (1095 řádků = 365 dní × 3 velikosti).
|
||||
Reference in New Issue
Block a user