Files
ordinaceprojekt/SběrDatRůzné/DailySuguru/NOTES.md
T
Vladimir Buzalka c4c0d1d435 notebookvb
2026-05-08 22:06:57 +02:00

46 lines
1.5 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.
# 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 AZ), 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 1N, žá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).