1.7 KiB
1.7 KiB
DailyCalcudoku — technické poznámky
Přehled skriptů
| Skript | Popis |
|---|---|
preskumaj_calcudoku.py |
Průzkumný — vytáhne gameLevels z JS kontextu stránky |
stahni_calcudoku.py |
Stáhne data z webu a uloží do MySQL (celý rok najednou) |
vykresli_calcudoku.py |
Generuje PDF z dat v MySQL (reportlab, vektorové) |
Zdroj dat
Stránka: https://www.solitaire.org/daily-calcudoku/
Stejná architektura jako Kakuro/Str8ts — game.php načte gameLevels s daty pro celý rok (366 dní × 4 velikosti). Klíče "MM-DD", bez roku. Data se nemění přes rok — stačí jednorázové stažení v lednu.
Obtížnosti (velikosti mřížek)
| Klíč | Rozměr | Číslice |
|---|---|---|
| 4x4 | 4×4 | 1–4 |
| 5x5 | 5×5 | 1–5 |
| 6x6 | 6×6 | 1–6 |
| 8x8 | 8×8 | 1–8 |
Datová struktura gameLevels
Každý záznam je pole dvou stringů: [cages, solution]
Cages (definice klecí)
Klece oddělené |, každá ve formátu target,operator,cells:
3,*,a1b1|8,+,a2b2a3|2,/,c4d4
target= cílová hodnotaoperator=+,-,*,/cells= seznam buněk (sloupec=písmeno a–h, řádek=číslo 1–8)
Solution (řešení)
Flat string číslic, řádek po řádku:
1342213442133421 (4×4 = 16 znaků)
MySQL tabulka puzzle.puzzles
Sdílená tabulka s ostatními puzzle. Pro Calcudoku:
game_type='calcudoku'difficulty='4x4'/'5x5'/'6x6'/'8x8'puzzle= cage definice (cages string)solution= flat string řešeníextra={"grid_size": 4}/5/6/8source='solitaire.org'
Stav: celý rok 2026 naplněn (1460 řádků = 365 dní × 4 velikosti).