{"format":"murdoku-puzzle/1","id":"icecream","version":1,"difficulty":"very-easy","level":1,"size":{"rows":5,"cols":5},"languages":["en","hu","de","fr","es","it","nl","pl","pt","ro","ca","cs","fi","vi","tr","el","ru","uk","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"De ijssalon","tagline":"Een gelateria aan de boulevard van Rimini · een augustusavond in 1962 · de pistache was uitverkocht","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"Rimini, een gloeiend hete augustusavond in 1962. In de kleine gelateria aan de boulevard was de pistache om zes uur al uitverkocht, de laatste door de zon verbrande toeristen verlieten het terras en de ijsmaker telde de dagopbrengst. Vitale, een vastgoedontwikkelaar die de hele zomer had geprobeerd de ijssalon te kopen om hem voor een hotel af te breken, ging op het terras naast de gestreepte parasol zitten en bestelde een espresso die hij nooit dronk. Bij zonsondergang werd hij daar dood aangetroffen. Slechts vier mensen waren in zijn buurt geweest, en ieder legde een verklaring van één zin af – zoek uit wie er alleen met hem was.","rules":{"standard":["Elke <b>rij</b> en elke <b>kolom</b> bevat precies <b>één persoon</b>. Zodra je iemand plaatst, streep je zijn hele rij en kolom door.","<b>„Naast”</b> = direct links, rechts, erboven of eronder, en <b>in hetzelfde gebied</b>. Vakjes met voorwerpen (de gootsteen, de ijstoonbank, de tafel, de parasol, de fiets en het bloemperk) kunnen niet bezet worden; de stoelen en de bank wel.","De moordenaar was <b>alleen met het slachtoffer</b>: niemand anders was in dat gebied."],"special":[]},"roleNames":{"guest":"gast","staff":"personeel","victim":"slachtoffer"},"personGroups":[{"id":"guests","name":"Gasten","persons":["A","B","V"]},{"id":"staff","name":"Het personeel","persons":["C","D"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Kitchen","cells":[[1,1],[1,2],[2,1]],"fill":"#e3e9ec","pattern":"tiles","labelAt":[1,2],"name":"Keuken"},{"id":"Parlour","cells":[[1,3],[1,4],[2,2],[2,3],[3,1],[3,2],[4,1]],"fill":"#f6dde6","pattern":"marble","labelAt":[3,2],"name":"Zaal"},{"id":"Terrace","cells":[[1,5],[2,4],[2,5],[3,3],[3,4],[3,5],[4,2],[4,3],[5,1],[5,2]],"fill":"#f0e4cc","pattern":"tiles","labelAt":[4,3],"name":"Terras"},{"id":"Garden","cells":[[4,4],[4,5],[5,3],[5,4],[5,5]],"fill":"#dcebcd","pattern":"marble","labelAt":[5,4],"name":"Tuin"}],"objectTypes":{"bench":{"occupiable":true,"name":"bank","icon":"<rect x=\"7\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"35.8\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"4\" y=\"8\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.3\"/><rect x=\"4\" y=\"17.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"32.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/>"},"chair":{"occupiable":true,"name":"stoel","icon":"<rect x=\"9\" y=\"7\" width=\"28\" height=\"32\" rx=\"6\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"7\" width=\"28\" height=\"9\" rx=\"4\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/>"},"bicycle":{"occupiable":false,"name":"fiets","icon":"<circle cx=\"13\" cy=\"30\" r=\"8\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"2\"/><circle cx=\"33\" cy=\"30\" r=\"8\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"2\"/><path d=\"M13 30 L20 16 h10 l3 14 M20 16 l6 14 h-13 M30 16 l-4 -4\" fill=\"none\" stroke=\"#c0392b\" stroke-width=\"2.2\" stroke-linejoin=\"round\"/>"},"counter":{"occupiable":false,"name":"ijstoonbank","icon":"<rect x=\"0\" y=\"10\" width=\"46\" height=\"26\" fill=\"#a97c50\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"0\" y=\"10\" width=\"46\" height=\"7\" fill=\"#c9a06f\"/>"},"flowers":{"occupiable":false,"name":"bloemperk","icon":"<path d=\"M17 28 h12 l-2 12 h-8 z\" fill=\"#c9c3b8\" stroke=\"#6b6660\" stroke-width=\"1.2\"/><circle cx=\"16\" cy=\"19\" r=\"5\" fill=\"#e0526a\"/><circle cx=\"30\" cy=\"19\" r=\"5\" fill=\"#f2a53a\"/><circle cx=\"23\" cy=\"12\" r=\"5\" fill=\"#f2d24a\"/><circle cx=\"23\" cy=\"22\" r=\"4.5\" fill=\"#d94a8a\"/><path d=\"M12 25 q6 -8 11 -6\" fill=\"none\" stroke=\"#3f8a4a\" stroke-width=\"2\"/><path d=\"M34 25 q-6 -8 -11 -6\" fill=\"none\" stroke=\"#3f8a4a\" stroke-width=\"2\"/>"},"sink":{"occupiable":false,"name":"gootsteen","icon":"<rect x=\"7\" y=\"9\" width=\"32\" height=\"28\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"24\" rx=\"11\" ry=\"7\" fill=\"#ffffff\" stroke=\"#8a949c\"/><circle cx=\"23\" cy=\"24\" r=\"2\" fill=\"#8a949c\"/><rect x=\"21\" y=\"10\" width=\"4\" height=\"6\" fill=\"#8a949c\"/>"},"table":{"occupiable":false,"name":"tafel","icon":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"32\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"22\" rx=\"3\" fill=\"#d1a675\"/>"},"umbrella":{"occupiable":false,"name":"parasol","icon":"<path d=\"M5 24 q18 -22 36 0 z\" fill=\"#e26d5a\" stroke=\"#8a3a2a\" stroke-width=\"1.2\"/><path d=\"M5 24 q4 -6 9 0 q4 -6 9 0 q4 -6 9 0 q4 -6 9 0\" fill=\"none\" stroke=\"#f9d7cf\" stroke-width=\"1.5\"/><line x1=\"23\" y1=\"24\" x2=\"23\" y2=\"42\" stroke=\"#5a4a3a\" stroke-width=\"2\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"sink"},{"cell":[1,4],"type":"counter"},{"cell":[2,2],"type":"chair"},{"cell":[2,3],"type":"table"},{"cell":[2,4],"type":"chair"},{"cell":[3,3],"type":"chair"},{"cell":[3,4],"type":"umbrella"},{"cell":[3,5],"type":"chair"},{"cell":[4,1],"type":"chair"},{"cell":[4,5],"type":"bicycle"},{"cell":[5,2],"type":"chair"},{"cell":[5,3],"type":"bench"},{"cell":[5,5],"type":"flowers"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Arturo","gender":"M","role":"guest","color":"#c62828","avatar":{"bg":"#1565c0","skin":"#e4b998","hair":"#1c1a1a","style":"slick","shirt":"#f4efe6","mustache":true,"mustacheColor":"#1c1a1a"},"clue":"Hij was in de <b>onderste rij</b>.","job":"de eigenaar van het hotel ernaast","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Arturo\"><rect width=\"80\" height=\"80\" fill=\"#1565c0\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#1c1a1a\"/></svg>","solverRole":"guest","constraints":[{"type":"row","rows":[5]}]},{"id":"B","name":"Brigida","gender":"F","role":"guest","color":"#2e7d32","avatar":{"bg":"#e65100","skin":"#f6d8c0","hair":"#7a4a2a","style":"bob","shirt":"#7fc4d8","glasses":true},"clue":"Zij was naast de <b>tafel</b>.","job":"een lerares uit Bologna op vakantie","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Brigida\"><rect width=\"80\" height=\"80\" fill=\"#e65100\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#7a4a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7fc4d8\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#7a4a2a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/></svg>","solverRole":"guest","constraints":[{"type":"beside","obj":"table"}]},{"id":"C","name":"Corrado","gender":"M","role":"staff","color":"#1565c0","avatar":{"bg":"#2e7d32","skin":"#e7b98f","hair":"#3a2a1c","style":"short","shirt":"#f4efe6","apron":true,"beard":true},"clue":"Hij was in de <b>Zaal</b>. Hij zat op een <b>stoel</b>.","job":"de ijsmaker","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Corrado\"><rect width=\"80\" height=\"80\" fill=\"#2e7d32\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#3a2a1c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#3a2a1c\"/></svg>","solverRole":"staff","constraints":[{"type":"area","areas":["Parlour"]},{"type":"on","obj":"chair"}]},{"id":"D","name":"Dafne","gender":"F","role":"staff","color":"#6a1b9a","avatar":{"bg":"#ad1457","skin":"#f3d3b5","hair":"#b7482c","style":"ponytail","shirt":"#1b1b1b","apron":true},"clue":"Zij was naast de <b>fiets</b>.","job":"de serveerster","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dafne\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#b7482c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f3d3b5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f3d3b5\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 Z\" fill=\"#b7482c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"bicycle"}]},{"id":"V","name":"Vitale","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f1c8a5","hair":"#8a8278","style":"bald","shirt":"#2f3b4c","mustache":true,"mustacheColor":"#8a8278","glasses":true},"clue":"<b>Het slachtoffer.</b> Hij werd gevonden op het <b>Terras</b>, naast de <b>parasol</b> – alleen met de moordenaar.","job":"een vastgoedontwikkelaar die de ijssalon wilde hebben","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Vitale\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 30 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#8a8278\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#8a8278\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#8a8278\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"guest","constraints":[{"type":"area","areas":["Terrace"]},{"type":"beside","obj":"umbrella"}]}],"victim":"V","murderer":"A","solution":{"B":[1,3],"C":[2,2],"V":[3,5],"D":[4,4],"A":[5,1]},"walkthrough":[{"place":["D"],"cand":{"A":[[5,1],[5,2],[5,3]],"B":[[1,3],[2,2]],"C":[[2,2]]},"text":"Begin met de verklaring die de minste vakjes overlaat. Dafne was naast de fiets (R4C5, in de Tuin). „Naast” betekent een aangrenzend vakje in hetzelfde gebied: R3C5 erboven hoort bij het Terras en R5C5 eronder is een bloemperk, dus alleen R4C4 blijft over. <b>Dafne is op R4C4</b> – streep rij 4 en kolom 4 door."},{"place":["C","B"],"cand":{"A":[[5,1]]},"text":"Corrado was in de Zaal en zat op een stoel. De Zaal heeft twee stoelen, R2C2 en R4C1, en rij 4 is van Dafne: <b>Corrado is op R2C2</b>. Brigida was naast de tafel (R2C3). De aangrenzende vakjes in de Zaal zijn R1C3 en R2C2 (R2C4 en R3C3 horen bij het Terras), en R2C2 is van Corrado: <b>Brigida is op R1C3</b>."},{"place":["A"],"cand":{},"text":"Arturo was in de onderste rij. R5C5 is een bloemperk, en de kolommen 2, 3 en 4 zijn bezet: <b>Arturo is op R5C1</b>."},{"final":true,"text":"Zaak gesloten: het laatste vrije vakje, R3C5, is dat van het slachtoffer – op het Terras, naast de parasol, precies zoals zijn kaart zegt, al hadden we die nooit nodig. Vitale was daar alleen met de eigenaar van het hotel ernaast. <b>Arturo is de moordenaar!</b>"}],"solver":{"rules":[],"occupiable":["bench","chair"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}