{"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":"冰淇淋店","tagline":"里米尼海滨的一家冰淇淋店 · 1962 年八月的一个傍晚 · 开心果口味卖光了","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"里米尼，1962 年八月一个酷热的傍晚。海滨这家小小的冰淇淋店在六点钟就卖光了开心果口味，最后几位被晒得通红的游客正离开露台，冰淇淋师傅在清点当天的营业额。地产开发商 Vitale 整个夏天都想买下这家店、拆掉它盖酒店，他在露台的条纹遮阳伞旁坐下，点了一杯永远没喝过的浓缩咖啡。日落时分，人们发现他死在那里。当时在他附近的只有四个人，每人都做了一句话的陈述——找出谁曾与他独处。","rules":{"standard":["每一<b>行</b>和每一<b>列</b>恰好有<b>一个人</b>。一旦放下某人，就划掉他所在的整行和整列。","<b>“旁边”</b> = 紧邻的左、右、上或下方，且<b>在同一区域内</b>。有物品的格子（水槽、冰淇淋柜台、桌子、遮阳伞、自行车和花坛）不能有人；椅子和长椅可以。","凶手曾<b>与受害者独处</b>：那个区域里没有其他人。"],"special":[]},"roleNames":{"guest":"客人","staff":"员工","victim":"受害者"},"personGroups":[{"id":"guests","name":"客人","persons":["A","B","V"]},{"id":"staff","name":"员工","persons":["C","D"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Kitchen","cells":[[1,1],[1,2],[2,1]],"fill":"#e3e9ec","pattern":"tiles","labelAt":[1,2],"name":"厨房"},{"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":"大厅"},{"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":"露台"},{"id":"Garden","cells":[[4,4],[4,5],[5,3],[5,4],[5,5]],"fill":"#dcebcd","pattern":"marble","labelAt":[5,4],"name":"花园"}],"objectTypes":{"bench":{"occupiable":true,"name":"长椅","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":"椅子","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":"自行车","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":"冰淇淋柜台","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":"花坛","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":"水槽","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":"桌子","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":"遮阳伞","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":"他在<b>最后一行</b>。","job":"隔壁酒店的老板","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":"她在<b>桌子</b>旁边。","job":"来度假的博洛尼亚教师","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":"他在<b>大厅</b>。他坐在一把<b>椅子</b>上。","job":"冰淇淋师傅","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":"她在<b>自行车</b>旁边。","job":"女服务员","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>受害者。</b>他被发现在<b>露台</b>，<b>遮阳伞</b>旁边——与凶手独处。","job":"一心想要这家店的地产开发商","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":"从留下格子最少的陈述开始。Dafne 在自行车（R4C5，在花园）旁边。“旁边”指同一区域内相邻的格子：上面的 R3C5 属于露台，下面的 R5C5 是花坛，所以只剩 R4C4。<b>Dafne 在 R4C4</b>。划掉第 4 行和第 4 列。"},{"place":["C","B"],"cand":{"A":[[5,1]]},"text":"Corrado 在大厅，坐在一把椅子上。大厅有两把椅子，R2C2 和 R4C1，而第 4 行是 Dafne 的：<b>Corrado 在 R2C2</b>。Brigida 在桌子（R2C3）旁边。桌子在大厅里的相邻格子是 R1C3 和 R2C2（R2C4 和 R3C3 属于露台），而 R2C2 是 Corrado 的：<b>Brigida 在 R1C3</b>。"},{"place":["A"],"cand":{},"text":"Arturo 在最后一行。R5C5 是花坛，第 2、3、4 列已被占用：<b>Arturo 在 R5C1</b>。"},{"final":true,"text":"结案：最后一个空格 R3C5 是受害者的——在露台，遮阳伞旁边，正如他的卡片所说，虽然我们从未用到它。Vitale 在那里与隔壁酒店的老板独处。<b>Arturo 是凶手！</b>"}],"solver":{"rules":[],"occupiable":["bench","chair"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}