From 10199eaab58a4802c9f7b1645825c7e49d23c448 Mon Sep 17 00:00:00 2001 From: mike Date: Thu, 18 Dec 2025 15:02:08 +0100 Subject: [PATCH] init --- ...gan-van-het-jaar-over-verslavende-dru.json | 121 ++++++++++++++++++ ...nderzoek-dat-schade-van-apps-op-menta.json | 0 ...wsuur-pijn-bij-keizersnede-netanyahu-.json | 114 +++++++++++++++++ ...-stepping-down-as-fbi-deputy-director.json | 118 +++++++++++++++++ data/index.json | 6 +- tools/puzzle-gen/generate_daily_puzzles.py | 7 +- 6 files changed, 361 insertions(+), 5 deletions(-) create mode 100644 data/crossword_2025-12-18_01_slechtste-slogan-van-het-jaar-over-verslavende-dru.json create mode 100644 data/crossword_2025-12-18_02_meta-stopte-onderzoek-dat-schade-van-apps-op-menta.json create mode 100644 data/crossword_2025-12-18_03_30-11-in-nieuwsuur-pijn-bij-keizersnede-netanyahu-.json create mode 100644 data/crossword_2025-12-18_03_dan-bongino-stepping-down-as-fbi-deputy-director.json diff --git a/data/crossword_2025-12-18_01_slechtste-slogan-van-het-jaar-over-verslavende-dru.json b/data/crossword_2025-12-18_01_slechtste-slogan-van-het-jaar-over-verslavende-dru.json new file mode 100644 index 0000000..ceb0356 --- /dev/null +++ b/data/crossword_2025-12-18_01_slechtste-slogan-van-het-jaar-over-verslavende-dru.json @@ -0,0 +1,121 @@ +{ + "gridv2": [ + [ + "##############" + ], + [ + "##############" + ], + [ + "#######L######" + ], + [ + "#######E##B###" + ], + [ + "###A#SNUIVEN##" + ], + [ + "###K###S##S###" + ], + [ + "###K######T###" + ], + [ + "##VERSLAAVEND#" + ], + [ + "###R######D#R#" + ], + [ + "###H######I#O#" + ], + [ + "###O#SLOGAN#O#" + ], + [ + "###F######G#G#" + ], + [ + "##############" + ] + ], + "words": [ + { + "word": "VERSLAAVEND", + "clue": "Overdrijft aantrekkingskracht", + "startRow": 7, + "startCol": 2, + "direction": "horizontal", + "answer": "VERSLAAVEND", + "arrowRow": 7, + "arrowCol": 1 + }, + { + "word": "BESTEDING", + "clue": "Korting of prijs", + "startRow": 3, + "startCol": 10, + "direction": "vertical", + "answer": "BESTEDING", + "arrowRow": 2, + "arrowCol": 10 + }, + { + "word": "AKKERHOF", + "clue": "Naam van de winkel", + "startRow": 4, + "startCol": 3, + "direction": "vertical", + "answer": "AKKERHOF", + "arrowRow": 3, + "arrowCol": 3 + }, + { + "word": "SNUIVEN", + "clue": "Korte handeling bij verslaving", + "startRow": 4, + "startCol": 5, + "direction": "horizontal", + "answer": "SNUIVEN", + "arrowRow": 4, + "arrowCol": 4 + }, + { + "word": "SLOGAN", + "clue": "Marketing tekst", + "startRow": 10, + "startCol": 5, + "direction": "horizontal", + "answer": "SLOGAN", + "arrowRow": 10, + "arrowCol": 4 + }, + { + "word": "DROOG", + "clue": "Tegenstrijdig fruittype", + "startRow": 7, + "startCol": 12, + "direction": "vertical", + "answer": "DROOG", + "arrowRow": 6, + "arrowCol": 12 + }, + { + "word": "LEUS", + "clue": "Kortere slogan tekst", + "startRow": 2, + "startCol": 7, + "direction": "vertical", + "answer": "LEUS", + "arrowRow": 1, + "arrowCol": 7 + } + ], + "difficulty": 1, + "rewards": { + "coins": 50, + "stars": 2, + "hints": 1 + } +} \ No newline at end of file diff --git a/data/crossword_2025-12-18_02_meta-stopte-onderzoek-dat-schade-van-apps-op-menta.json b/data/crossword_2025-12-18_02_meta-stopte-onderzoek-dat-schade-van-apps-op-menta.json new file mode 100644 index 0000000..e69de29 diff --git a/data/crossword_2025-12-18_03_30-11-in-nieuwsuur-pijn-bij-keizersnede-netanyahu-.json b/data/crossword_2025-12-18_03_30-11-in-nieuwsuur-pijn-bij-keizersnede-netanyahu-.json new file mode 100644 index 0000000..d0fc985 --- /dev/null +++ b/data/crossword_2025-12-18_03_30-11-in-nieuwsuur-pijn-bij-keizersnede-netanyahu-.json @@ -0,0 +1,114 @@ +{ + "gridv2": [ + [ + "##############" + ], + [ + "##############" + ], + [ + "########N#####" + ], + [ + "######M#I#R###" + ], + [ + "###N##E#E#U###" + ], + [ + "###E##N#U#G#S#" + ], + [ + "###D##S#W#G#M#" + ], + [ + "##KEIZERSNEDE#" + ], + [ + "###R##N#U#N#R#" + ], + [ + "###L##W#U#P#I#" + ], + [ + "###A##E#R#R#G#" + ], + [ + "###N##R###I#E#" + ], + [ + "###D##K###K###" + ], + [ + "##############" + ] + ], + "words": [ + { + "word": "KEIZERSNEDE", + "clue": "operatie", + "startRow": 7, + "startCol": 2, + "direction": "horizontal", + "answer": "KEIZERSNEDE", + "arrowRow": 7, + "arrowCol": 1 + }, + { + "word": "MENSENWERK", + "clue": "arbeid", + "startRow": 3, + "startCol": 6, + "direction": "vertical", + "answer": "MENSENWERK", + "arrowRow": 2, + "arrowCol": 6 + }, + { + "word": "RUGGENPRIK", + "clue": "anesthesie", + "startRow": 3, + "startCol": 10, + "direction": "vertical", + "answer": "RUGGENPRIK", + "arrowRow": 2, + "arrowCol": 10 + }, + { + "word": "NIEUWSUUR", + "clue": "media", + "startRow": 2, + "startCol": 8, + "direction": "vertical", + "answer": "NIEUWSUUR", + "arrowRow": 1, + "arrowCol": 8 + }, + { + "word": "NEDERLAND", + "clue": "land", + "startRow": 4, + "startCol": 3, + "direction": "vertical", + "answer": "NEDERLAND", + "arrowRow": 3, + "arrowCol": 3 + }, + { + "word": "SMERIGE", + "clue": "complex", + "startRow": 5, + "startCol": 12, + "direction": "vertical", + "answer": "SMERIGE", + "arrowRow": 4, + "arrowCol": 12 + } + ], + "difficulty": 1, + "rewards": { + "coins": 50, + "stars": 2, + "hints": 1 + } +} \ No newline at end of file diff --git a/data/crossword_2025-12-18_03_dan-bongino-stepping-down-as-fbi-deputy-director.json b/data/crossword_2025-12-18_03_dan-bongino-stepping-down-as-fbi-deputy-director.json new file mode 100644 index 0000000..a8859b7 --- /dev/null +++ b/data/crossword_2025-12-18_03_dan-bongino-stepping-down-as-fbi-deputy-director.json @@ -0,0 +1,118 @@ +{ + "gridv2": [ + [ + "#############" + ], + [ + "#############" + ], + [ + "#####F#D##G##" + ], + [ + "#####B#E##O##" + ], + [ + "#####I#LEAVE#" + ], + [ + "#####W#E##T##" + ], + [ + "####BONGI#S##" + ], + [ + "######A######" + ], + [ + "##DOWNT######" + ], + [ + "######U######" + ], + [ + "######R######" + ], + [ + "#############" + ] + ], + "words": [ + { + "word": "BONGI", + "clue": "Ex-podcaster Dan Bongino", + "startRow": 6, + "startCol": 4, + "direction": "horizontal", + "answer": "BONGI", + "arrowRow": 6, + "arrowCol": 3 + }, + { + "word": "DELEG", + "clue": "Stepped down als FBI‑deputiendirector", + "startRow": 2, + "startCol": 7, + "direction": "vertical", + "answer": "DELEG", + "arrowRow": 1, + "arrowCol": 7 + }, + { + "word": "FBIWO", + "clue": "Gaat uit de FBI na een grote stap", + "startRow": 2, + "startCol": 5, + "direction": "vertical", + "answer": "FBIWO", + "arrowRow": 1, + "arrowCol": 5 + }, + { + "word": "LEAVE", + "clue": "Bongino kondigt vertrek aan", + "startRow": 4, + "startCol": 7, + "direction": "horizontal", + "answer": "LEAVE", + "arrowRow": 4, + "arrowCol": 6 + }, + { + "word": "NATUR", + "clue": "Natuurlijk een carrièreswitch", + "startRow": 6, + "startCol": 6, + "direction": "vertical", + "answer": "NATUR", + "arrowRow": 5, + "arrowCol": 6 + }, + { + "word": "DOWNT", + "clue": "Terug op televisie en in het bestuur", + "startRow": 8, + "startCol": 2, + "direction": "horizontal", + "answer": "DOWNT", + "arrowRow": 8, + "arrowCol": 1 + }, + { + "word": "GOVTS", + "clue": "Nieuwe rol in de Amerikaanse overheid", + "startRow": 2, + "startCol": 10, + "direction": "vertical", + "answer": "GOVTS", + "arrowRow": 1, + "arrowCol": 10 + } + ], + "difficulty": 1, + "rewards": { + "coins": 50, + "stars": 2, + "hints": 1 + } +} \ No newline at end of file diff --git a/data/index.json b/data/index.json index 5d1d9c3..579220d 100644 --- a/data/index.json +++ b/data/index.json @@ -2,6 +2,10 @@ "date": "2025-12-18", "files": [ "crossword_2025-12-18_01_duizenden-lachgascilinders-in-beslag-genomen-in-de.json", - "crossword_2025-12-18_02_meta-blokkeert-tientallen-queer-en-abortus-account.json" + "crossword_2025-12-18_01_slechtste-slogan-van-het-jaar-over-verslavende-dru.json", + "crossword_2025-12-18_02_meta-blokkeert-tientallen-queer-en-abortus-account.json", + "crossword_2025-12-18_02_meta-stopte-onderzoek-dat-schade-van-apps-op-menta.json", + "crossword_2025-12-18_03_30-11-in-nieuwsuur-pijn-bij-keizersnede-netanyahu-.json", + "crossword_2025-12-18_03_dan-bongino-stepping-down-as-fbi-deputy-director.json" ] } \ No newline at end of file diff --git a/tools/puzzle-gen/generate_daily_puzzles.py b/tools/puzzle-gen/generate_daily_puzzles.py index ff5e591..136f9a0 100644 --- a/tools/puzzle-gen/generate_daily_puzzles.py +++ b/tools/puzzle-gen/generate_daily_puzzles.py @@ -10,12 +10,11 @@ import json, re WORD_RE = re.compile(r"^[A-Z]{3,12}$") EMPTY = " " -SIZE = 12 +SIZE = 11 FEEDS = [ "https://feeds.nos.nl/nosnieuwsalgemeen", "https://feeds.nos.nl/nosnieuwstech", - "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/world/rss.xml", ] @@ -291,7 +290,7 @@ Formaat exact: }} Regels: -- WOORD: alleen letters A-Z, geen streepjes, geen cijfers, lengte 3..12. +- WOORD: alleen letters A-Z, geen streepjes, geen cijfers, lengte 3..9. - waarde: clue in het Nederlands, kort. - Maak {n_words} items. Thema: {title} @@ -316,7 +315,7 @@ Context: {desc[:260]} if len(wc) < max(6, n_words - 4): repair = f""" Zet dit om naar een STRICT JSON OBJECT (geen array) "WOORD":"clue". -WOORD: A-Z only, 3..12, geen streepjes/cijfers. Vervang ongeldige woorden door passende synoniemen. +WOORD: A-Z only, 3..9, geen streepjes/cijfers. Vervang ongeldige woorden door passende synoniemen. Input: {content} """.strip()