{"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":"Vòng quay ngựa gỗ","tagline":"Hội chợ lưu động trên bãi cỏ làng · thứ Hai Lễ Ngũ Tuần 1908 · vòng quay ngựa gỗ chưa bao giờ ngừng","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"Một bãi cỏ làng ở vùng biên giới xứ Wales, thứ Hai Lễ Ngũ Tuần năm 1908. Hội chợ lưu động đã đến: đàn organ hơi nước vang lên, những con ngựa gỗ quay vòng vòng quanh chiếc cột giữa sơn màu, và một xe đẩy bắp rang – món mới nhất từ nước Mỹ – thu hút cả đám trẻ con. Vesta, bà chủ điền trang sở hữu bãi cỏ, đã tuyên bố sáng hôm đó rằng hội chợ sẽ không bao giờ được phép quay lại nữa. Buổi chiều, bà được tìm thấy đã chết ở quầy kẹo, bên cạnh xe đẩy bắp rang. Có bốn người đã ở gần bà, và mỗi người đưa ra một lời khai ngắn – hãy tìm người đã ở một mình với bà.","rules":{"standard":["Mỗi <b>hàng</b> và mỗi <b>cột</b> có đúng <b>một người</b>. Ngay khi đặt ai đó, hãy gạch bỏ toàn bộ hàng và cột của người ấy.","<b>“Cạnh”</b> = ngay bên trái, bên phải, bên trên hoặc bên dưới, và <b>trong cùng một khu vực</b>. Không thể ở trên ô có đồ vật (quầy bán vé, cây, cột giữa, xe đẩy bắp rang và luống hoa), trừ ngựa gỗ và băng ghế.","Hung thủ <b>ở một mình với nạn nhân</b>: không có ai khác trong khu vực đó."],"special":[]},"roleNames":{"visitor":"khách tham quan","staff":"nhân viên hội chợ","victim":"nạn nhân"},"personGroups":[{"id":"visitors","name":"Khách tham quan","persons":["A","B","V"]},{"id":"staff","name":"Người của hội chợ","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":"Chòi bán vé"},{"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":"Vòng quay ngựa gỗ"},{"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":"Bãi cỏ"},{"id":"Sweet Stall","cells":[[4,1],[5,1],[5,2],[5,3]],"fill":"#f6dde6","pattern":"planks","labelAt":[5,2],"name":"Quầy kẹo"}],"objectTypes":{"bench":{"occupiable":true,"name":"băng ghế","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":"ngựa gỗ","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":"quầy bán vé","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":"luống hoa","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":"cột giữa","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":"xe đẩy bắp rang","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":"cây","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":"Anh ấy ngồi trên một con <b>ngựa gỗ</b>.","job":"cha phó mới của giáo xứ","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":"Cô ấy ngồi trên <b>băng ghế</b>.","job":"một thị nữ vào ngày nghỉ","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":"Anh ấy ở trong <b>Chòi bán vé</b>. Anh ấy ở <b>hàng đầu tiên</b>.","job":"người bán vé của vòng quay ngựa gỗ","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":"Cô ấy ở <b>hàng cuối cùng</b>.","job":"người bán kẹo của hội chợ","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>Nạn nhân.</b> Cô ấy được tìm thấy ở <b>Quầy kẹo</b>, bên cạnh <b>xe đẩy bắp rang</b> – một mình với hung thủ.","job":"bà chủ điền trang sở hữu bãi cỏ làng","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 ngồi trên băng ghế – và chỉ có một băng ghế, ở R3C5. <b>Bettany ở R3C5</b>: hãy gạch bỏ hàng 3 và cột 5."},{"place":["C","A"],"cand":{"D":[[5,3]]},"text":"Caradoc ở trong Chòi bán vé, ở hàng đầu tiên. Chòi bán vé chỉ có hai ô ở hàng 1, và R1C1 là quầy bán vé: <b>Caradoc ở R1C2</b>. Alaric ngồi trên một con ngựa gỗ. Các con ngựa ở R2C2, R2C4 và R4C2, và cột 2 là của Caradoc: <b>Alaric ở R2C4</b>."},{"place":["D"],"cand":{},"text":"Drusilla ở hàng cuối cùng. R5C1 là xe đẩy bắp rang, R5C5 là một luống hoa, và các cột 2 và 4 đã bị chiếm: <b>Drusilla ở R5C3</b>."},{"final":true,"text":"Vụ án khép lại: ô trống cuối cùng, R4C1, là của nạn nhân – ở Quầy kẹo, bên cạnh xe đẩy bắp rang, đúng như thẻ của cô ấy ghi, dù chúng ta chưa bao giờ cần đến nó. Vesta ở đó một mình với người bán kẹo của hội chợ. <b>Drusilla là hung thủ!</b>"}],"solver":{"rules":[],"occupiable":["bench","rockinghorse"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}