{"format":"murdoku-puzzle/1","id":"carousel","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 Draaimolen","tagline":"Een rondreizende kermis op de dorpsweide · Pinkstermaandag 1908 · de draaimolen stond nooit stil","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"Een dorpsweide in de Welshe grensstreek, Pinkstermaandag 1908. De rondreizende kermis was gekomen: het stoomorgel speelde, de paarden van de draaimolen draaiden rond en rond om de beschilderde middenpaal, en een popcornkar – de nieuwste vinding uit Amerika – trok een menigte kinderen aan. Vesta, de vrouwe van het landhuis die de dorpsweide bezat, had die ochtend aangekondigd dat de kermis nooit meer terug mocht komen. In de middag werd zij dood gevonden bij de snoepkraam, naast de popcornkar. Vier mensen waren in haar buurt geweest, en elk deed één korte uitspraak – zoek degene die alleen met haar 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 (het kaartjesloket, de boom, de middenpaal, de popcornkar en het bloemperk) kunnen niet bezet worden; de draaimolenpaarden en de bank wel.","De moordenaar was <b>alleen met het slachtoffer</b>: niemand anders was in dat gebied."],"special":[]},"roleNames":{"visitor":"bezoeker","staff":"kermismedewerker","victim":"slachtoffer"},"personGroups":[{"id":"visitors","name":"Bezoekers","persons":["A","B","V"]},{"id":"staff","name":"Het kermisvolk","persons":["C","D"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Ticket Booth","cells":[[1,1],[1,2],[2,1]],"fill":"#eadfcb","pattern":"planks","labelAt":[2,1],"name":"Kassahokje"},{"id":"Carousel","cells":[[2,2],[2,3],[2,4],[3,1],[3,2],[3,3],[4,2],[4,3],[4,4]],"fill":"#f3e0c9","pattern":"boards","labelAt":[3,2],"name":"Draaimolen"},{"id":"Lawn","cells":[[1,3],[1,4],[1,5],[2,5],[3,4],[3,5],[4,5],[5,4],[5,5]],"fill":"#e0edcc","pattern":"marble","labelAt":[3,4],"name":"Gazon"},{"id":"Sweet Stall","cells":[[4,1],[5,1],[5,2],[5,3]],"fill":"#f6dde6","pattern":"planks","labelAt":[5,2],"name":"Snoepkraam"}],"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\"/>"},"rockinghorse":{"occupiable":true,"name":"draaimolenpaard","icon":"<path d=\"M4 37 q19 10 38 0\" fill=\"none\" stroke=\"#8a4a2a\" stroke-width=\"3.2\" stroke-linecap=\"round\"/><path d=\"M14 29 l-2 10 M18 30 v11 M28 30 v11 M32 29 l2 10\" stroke=\"#8a4a2a\" stroke-width=\"2.2\" stroke-linecap=\"round\"/><path d=\"M11 24 q-5 1 -6 9\" fill=\"none\" stroke=\"#6b3a20\" stroke-width=\"2.8\" stroke-linecap=\"round\"/><ellipse cx=\"22\" cy=\"26\" rx=\"12\" ry=\"5.5\" fill=\"#f4efe6\" stroke=\"#5a4a3a\" stroke-width=\"1.4\"/><path d=\"M28 23 L33 10 L38 13 L34 26 Z\" fill=\"#f4efe6\" stroke=\"#5a4a3a\" stroke-width=\"1.3\" stroke-linejoin=\"round\"/><ellipse cx=\"37\" cy=\"12\" rx=\"6.5\" ry=\"3.6\" transform=\"rotate(25 37 12)\" fill=\"#f4efe6\" stroke=\"#5a4a3a\" stroke-width=\"1.3\"/><path d=\"M34 7 l1 -4 l2 4\" fill=\"#f4efe6\" stroke=\"#5a4a3a\" stroke-width=\"1\"/><path d=\"M32 8 q-4 6 -5 15\" fill=\"none\" stroke=\"#6b3a20\" stroke-width=\"3\" stroke-linecap=\"round\"/><rect x=\"17\" y=\"20\" width=\"9\" height=\"4\" rx=\"1.5\" fill=\"#c0392b\"/><circle cx=\"37\" cy=\"10.5\" r=\"1\" fill=\"#2b2b2b\"/><g fill=\"#c9c1b3\"><circle cx=\"15\" cy=\"26\" r=\"1.4\"/><circle cx=\"24\" cy=\"28\" r=\"1.3\"/><circle cx=\"29\" cy=\"26\" r=\"1.1\"/></g>"},"counter":{"occupiable":false,"name":"kaartjesloket","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\"/>"},"pillar":{"occupiable":false,"name":"middenpaal","icon":"<circle cx=\"23\" cy=\"23\" r=\"12\" fill=\"#b9b6ae\" stroke=\"#5b5852\" stroke-width=\"2\"/><circle cx=\"23\" cy=\"23\" r=\"6\" fill=\"#9a968d\"/>"},"popcorn":{"occupiable":false,"name":"popcornkar","icon":"<path d=\"M7 13 h32 l-3 -7 h-26 z\" fill=\"#d7263d\" stroke=\"#7a1020\" stroke-width=\"1.2\" stroke-linejoin=\"round\"/><path d=\"M14 6.5 l-1 6 M21 6 v7 M28 6 l.5 7 M34 6.5 l1.5 6\" stroke=\"#fff\" stroke-width=\"2\"/><rect x=\"9\" y=\"13\" width=\"28\" height=\"15\" fill=\"#e8f3f8\" stroke=\"#7a1020\" stroke-width=\"1.3\"/><g fill=\"#fff3c4\" stroke=\"#e0b050\" stroke-width=\".8\"><circle cx=\"14\" cy=\"24\" r=\"3\"/><circle cx=\"19\" cy=\"22\" r=\"3\"/><circle cx=\"24\" cy=\"24\" r=\"3\"/><circle cx=\"29\" cy=\"21.5\" r=\"3\"/><circle cx=\"33\" cy=\"24.5\" r=\"2.6\"/><circle cx=\"17\" cy=\"26\" r=\"2.4\"/><circle cx=\"27\" cy=\"26\" r=\"2.4\"/><circle cx=\"22\" cy=\"19\" r=\"2.2\"/></g><rect x=\"9\" y=\"28\" width=\"28\" height=\"8\" fill=\"#d7263d\" stroke=\"#7a1020\" stroke-width=\"1.3\"/><path d=\"M17 32 h12\" stroke=\"#f7d774\" stroke-width=\"1.6\"/><circle cx=\"14\" cy=\"39.5\" r=\"4\" fill=\"#2b2b2b\"/><circle cx=\"32\" cy=\"39.5\" r=\"4\" fill=\"#2b2b2b\"/><circle cx=\"14\" cy=\"39.5\" r=\"1.4\" fill=\"#bbb\"/><circle cx=\"32\" cy=\"39.5\" r=\"1.4\" fill=\"#bbb\"/>"},"tree":{"occupiable":false,"name":"boom","icon":"<rect x=\"20\" y=\"28\" width=\"6\" height=\"14\" rx=\"1\" fill=\"#6e4a2a\"/><circle cx=\"23\" cy=\"19\" r=\"13\" fill=\"#3f8a4a\" stroke=\"#2c5e33\" stroke-width=\"1.5\"/><circle cx=\"16\" cy=\"23\" r=\"7\" fill=\"#57a35e\"/><circle cx=\"30\" cy=\"14\" r=\"7\" fill=\"#57a35e\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"counter"},{"cell":[1,5],"type":"tree"},{"cell":[2,2],"type":"rockinghorse"},{"cell":[2,4],"type":"rockinghorse"},{"cell":[3,3],"type":"pillar"},{"cell":[3,5],"type":"bench"},{"cell":[4,2],"type":"rockinghorse"},{"cell":[5,1],"type":"popcorn"},{"cell":[5,5],"type":"flowers"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Alaric","gender":"M","role":"visitor","color":"#c62828","avatar":{"bg":"#35607a","skin":"#f6d8c0","hair":"#5a3a22","style":"short","shirt":"#1b1b1b","glasses":true},"clue":"Hij zat op een <b>draaimolenpaard</b>.","job":"de nieuwe kapelaan van de parochie","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Alaric\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><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 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#5a3a22\"/><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":"visitor","constraints":[{"type":"on","obj":"rockinghorse"}]},{"id":"B","name":"Bettany","gender":"F","role":"visitor","color":"#2e7d32","avatar":{"bg":"#6a1b9a","skin":"#f3d3b5","hair":"#3a2a1c","style":"bun","shirt":"#2f3b4c","apron":true},"clue":"Zij zat op de <b>bank</b>.","job":"een kamenierster op haar vrije dag","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Bettany\"><rect width=\"80\" height=\"80\" fill=\"#6a1b9a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><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\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#3a2a1c\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 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\"/></svg>","solverRole":"visitor","constraints":[{"type":"on","obj":"bench"}]},{"id":"C","name":"Caradoc","gender":"M","role":"staff","color":"#1565c0","avatar":{"bg":"#3f6a3a","skin":"#e4b998","hair":"#b7482c","style":"short","shirt":"#c62828","beard":true,"cap":true},"clue":"Hij was in het <b>Kassahokje</b>. Hij was in de <b>bovenste rij</b>.","job":"de kaartjesverkoper van de draaimolen","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Caradoc\"><rect width=\"80\" height=\"80\" fill=\"#3f6a3a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#c62828\"/><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 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 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\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#b7482c\"/><path d=\"M24 24 Q24 11 40 11 Q56 11 56 24 Z\" fill=\"#22406f\"/><rect x=\"22\" y=\"22\" width=\"36\" height=\"5\" rx=\"2\" fill=\"#12213a\"/><circle cx=\"40\" cy=\"18\" r=\"2.6\" fill=\"#f0b429\"/></svg>","solverRole":"staff","constraints":[{"type":"area","areas":["Ticket Booth"]},{"type":"row","rows":[1]}]},{"id":"D","name":"Drusilla","gender":"F","role":"staff","color":"#6a1b9a","avatar":{"bg":"#e65100","skin":"#f0cdb0","hair":"#1c1a1a","style":"curly","shirt":"#e26d8a","headband":"#f2a53a","earrings":true},"clue":"Zij was in de <b>onderste rij</b>.","job":"de snoepverkoopster van de kermis","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Drusilla\"><rect width=\"80\" height=\"80\" fill=\"#e65100\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#e26d8a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><path d=\"M25 34 q-3 -8 4 -10 q0 -8 8 -7 q3 -4 8 -1 q6 -3 9 3 q7 0 5 8 q4 4 -1 9 q-6 -14 -16 -12 q-9 -1 -17 10 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\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f2a53a\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"staff","constraints":[{"type":"row","rows":[5]}]},{"id":"V","name":"Vesta","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f6d8c0","hair":"#d9d4cc","style":"bun","shirt":"#5b2c6f","necklace":true},"clue":"<b>Het slachtoffer.</b> Zij werd gevonden in het gebied <b>Snoepkraam</b>, naast de <b>popcornkar</b> – alleen met de moordenaar.","job":"de vrouwe van het landhuis die de dorpsweide bezat","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Vesta\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5b2c6f\"/><path d=\"M31 58 Q40 66 49 58\" fill=\"none\" stroke=\"#f3e2b3\" stroke-width=\"2\" stroke-dasharray=\"2 2\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#d9d4cc\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#d9d4cc\"/><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=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"visitor","constraints":[{"type":"area","areas":["Sweet Stall"]},{"type":"beside","obj":"popcorn"}]}],"victim":"V","murderer":"D","solution":{"C":[1,2],"A":[2,4],"B":[3,5],"V":[4,1],"D":[5,3]},"walkthrough":[{"place":["B"],"cand":{"A":[[2,2],[2,4],[4,2]],"C":[[1,2]],"D":[[5,2],[5,3],[5,4]]},"text":"Bettany zat op de bank – en er is maar één bank, op R3C5. <b>Bettany is op R3C5</b>: streep rij 3 en kolom 5 door."},{"place":["C","A"],"cand":{"D":[[5,3]]},"text":"Caradoc was in het Kassahokje, in de bovenste rij. Het Kassahokje heeft maar twee vakjes in rij 1, en R1C1 is het kaartjesloket: <b>Caradoc is op R1C2</b>. Alaric zat op een draaimolenpaard. De paarden zijn op R2C2, R2C4 en R4C2, en kolom 2 is van Caradoc: <b>Alaric is op R2C4</b>."},{"place":["D"],"cand":{},"text":"Drusilla was in de onderste rij. R5C1 is de popcornkar, R5C5 een bloemperk, en de kolommen 2 en 4 zijn bezet: <b>Drusilla is op R5C3</b>."},{"final":true,"text":"Zaak gesloten: het laatste vrije vakje, R4C1, is dat van het slachtoffer – in het gebied Snoepkraam, naast de popcornkar, precies zoals haar kaart zegt, al hadden we die nooit nodig. Vesta was daar alleen met de snoepverkoopster van de kermis. <b>Drusilla is de moordenaar!</b>"}],"solver":{"rules":[],"occupiable":["bench","rockinghorse"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}