{"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":"The Carousel","tagline":"A travelling fair on a village green · Whit Monday 1908 · the carousel never stopped","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"A village green in the Welsh borders, Whit Monday 1908. The travelling fair had come: the steam organ played, the carousel horses went round and round the painted centre pole, and a popcorn cart – the latest novelty from America – drew a crowd of children. Vesta, the lady of the manor who owned the green, had announced that morning that the fair would never be allowed back. In the afternoon she was found dead at the sweet stall, beside the popcorn cart. Four people had been close to her, and each made one short statement – find the one who was alone with her.","rules":{"standard":["Every <b>row</b> and every <b>column</b> holds exactly <b>one person</b>. As soon as you place someone, cross out their whole row and column.","<b>“Beside”</b> = directly left, right, above or below, and <b>in the same area</b>. Squares with objects (the ticket counter, the tree, the centre pole, the popcorn cart and the flower bed) cannot be occupied; the carousel horses and the bench can.","The murderer was <b>alone with the victim</b>: nobody else was in that area."],"special":[]},"roleNames":{"visitor":"visitor","staff":"fair worker","victim":"victim"},"personGroups":[{"id":"visitors","name":"Visitors","persons":["A","B","V"]},{"id":"staff","name":"The fair people","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":"Ticket Booth"},{"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":"Carousel"},{"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":"Lawn"},{"id":"Sweet Stall","cells":[[4,1],[5,1],[5,2],[5,3]],"fill":"#f6dde6","pattern":"planks","labelAt":[5,2],"name":"Sweet Stall"}],"objectTypes":{"bench":{"occupiable":true,"name":"bench","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":"carousel horse","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":"ticket counter","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":"flower bed","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":"centre pole","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":"popcorn cart","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":"tree","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":"He was sitting on a <b>carousel horse</b>.","job":"the new curate of the parish","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":"She was sitting on the <b>bench</b>.","job":"a lady's maid on her day off","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":"He was in the <b>Ticket Booth</b>. He was in the <b>first row</b>.","job":"the carousel's ticket seller","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":"She was in the <b>last row</b>.","job":"the sweet-seller of the fair","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>The victim.</b> She was found in the <b>Sweet Stall</b> area, beside the <b>popcorn cart</b> – alone with the murderer.","job":"the lady of the manor who owned the green","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 was sitting on the bench – and there is only one bench, at R3C5. <b>Bettany is at R3C5</b>: cross out row 3 and column 5."},{"place":["C","A"],"cand":{"D":[[5,3]]},"text":"Caradoc was in the Ticket Booth, in the first row. The Ticket Booth has only two squares in row 1, and R1C1 is the ticket counter: <b>Caradoc is at R1C2</b>. Alaric was sitting on a carousel horse. The horses are at R2C2, R2C4 and R4C2, and column 2 is Caradoc's: <b>Alaric is at R2C4</b>."},{"place":["D"],"cand":{},"text":"Drusilla was in the last row. R5C1 is the popcorn cart, R5C5 a flower bed, and columns 2 and 4 are taken: <b>Drusilla is at R5C3</b>."},{"final":true,"text":"Case closed: the last free square, R4C1, is the victim's – in the Sweet Stall area, beside the popcorn cart, just as her card says, although we never needed it. Vesta was alone there with the sweet-seller of the fair. <b>Drusilla is the murderer!</b>"}],"solver":{"rules":[],"occupiable":["bench","rockinghorse"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}