{"format":"murdoku-puzzle/1","id":"dance","version":1,"difficulty":"easy","level":4,"size":{"rows":8,"cols":8},"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":"Le studio de danse","tagline":"Un studio de danse · le soir du gala de fin d’année · la propriétaire a manqué ses propres saluts","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-10-06","story":"Le studio de danse se préparait depuis des semaines à son gala de fin d’année, et le soir du spectacle tout le bâtiment bourdonnait : quatre danseurs s’échauffaient, la professeure corrigeait encore quelques derniers pas, le pianiste et la réceptionniste s’affairaient aux derniers préparatifs. Véronique, qui avait fondé le studio vingt ans plus tôt, voulait changer pour sa robe de soirée avant l’arrivée des invités et disparut dans le vestiaire. Quand les premiers spectateurs sonnèrent à la porte, quelqu’un alla la chercher – et la trouva morte près des casiers. Le spectacle fut annulé, les portes furent verrouillées, et l’inspecteur nota où se trouvaient les quatre danseurs et les trois membres du personnel.","rules":{"standard":["Chaque <b>ligne</b> et chaque <b>colonne</b> contient exactement <b>une personne</b>. Dès que tu places quelqu’un, barre toute sa ligne et sa colonne.","<b>« À côté »</b> = directement à gauche, à droite, au-dessus ou en dessous, et <b>dans la même zone</b>. Les cases avec un objet (le comptoir, la lampe, le massif de fleurs, le bureau, les miroirs, les casiers, le piano, le parasol, la jardinière, le haut-parleur et la plante en pot) ne peuvent pas être occupées ; le canapé et les bancs, si.","Les directions se réfèrent aux lignes et aux colonnes, pas à la même ligne droite : <i>« exactement une ligne au nord de lui se trouvait une femme »</i> = la personne dans la ligne juste au-dessus est une femme, quelle que soit la colonne.","Le meurtrier était <b>seul avec la victime</b> : personne d’autre ne se trouvait dans cette zone."],"special":[]},"roleNames":{"dancer":"danseur","staff":"membre du personnel","victim":"victime"},"personGroups":[{"id":"dancers","name":"Danseurs","persons":["A","B","C","D"]},{"id":"staff","name":"Personnel","persons":["E","F","G"]},{"id":"owner","name":"La propriétaire","persons":["V"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Lobby","cells":[[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[2,3],[2,4]],"fill":"#ece7dd","pattern":"tiles","labelAt":[1,2],"name":"Hall"},{"id":"Office","cells":[[1,5],[1,6],[2,5],[2,6],[3,6]],"fill":"#e2d6c4","pattern":"planks","labelAt":[2,6],"name":"Bureau"},{"id":"Studio","cells":[[3,3],[3,4],[3,5],[4,3],[4,4],[4,5],[4,6],[4,7],[5,3],[5,4],[5,5],[5,6],[5,7],[6,2],[6,3],[6,4],[6,5],[6,6],[6,7],[7,2],[7,3],[7,4],[7,5],[8,4],[8,5]],"fill":"#efe2cb","pattern":"boards","labelAt":[5,4],"name":"Salle de danse"},{"id":"Changing Room","cells":[[3,1],[3,2],[4,1],[4,2],[5,1],[5,2],[6,1],[7,1],[8,1],[8,2],[8,3]],"fill":"#dfe6ea","pattern":"tiles","labelAt":[5,1],"name":"Vestiaire"},{"id":"Terrace","cells":[[1,7],[1,8],[2,7],[2,8],[3,7],[3,8],[4,8],[5,8],[6,8],[7,6],[7,7],[7,8],[8,6],[8,7],[8,8]],"fill":"#e3e9d6","pattern":"marble","labelAt":[5,8],"name":"Terrasse"}],"objectTypes":{"bench":{"occupiable":true,"name":"banc","icon":"<rect x=\"2\" y=\"13\" width=\"42\" height=\"21\" rx=\"3.5\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"2\" y=\"13\" width=\"42\" height=\"7\" rx=\"3\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><line x1=\"16\" y1=\"20\" x2=\"16\" y2=\"34\" stroke=\"#a9a49a\" stroke-width=\"1.3\"/><line x1=\"30\" y1=\"20\" x2=\"30\" y2=\"34\" stroke=\"#a9a49a\" stroke-width=\"1.3\"/>"},"sofa":{"occupiable":true,"name":"canapé","icon":"<rect x=\"3\" y=\"14\" width=\"40\" height=\"20\" rx=\"6\" fill=\"#7a5a9a\" stroke=\"#4a3560\" stroke-width=\"1.5\"/><rect x=\"7\" y=\"9\" width=\"32\" height=\"10\" rx=\"4\" fill=\"#9a7abd\" stroke=\"#4a3560\" stroke-width=\"1.5\"/><line x1=\"8\" y1=\"34\" x2=\"8\" y2=\"39\" stroke=\"#4a3560\" stroke-width=\"2\"/><line x1=\"38\" y1=\"34\" x2=\"38\" y2=\"39\" stroke=\"#4a3560\" stroke-width=\"2\"/>"},"counter":{"occupiable":false,"name":"comptoir","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\"/>"},"desk":{"occupiable":false,"name":"bureau","icon":"<rect x=\"5\" y=\"12\" width=\"36\" height=\"22\" rx=\"3\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"16\" width=\"14\" height=\"10\" fill=\"#f4efe6\" stroke=\"#8c8a82\"/><rect x=\"27\" y=\"17\" width=\"10\" height=\"4\" fill=\"#3d444b\"/>"},"flowers":{"occupiable":false,"name":"massif de fleurs","icon":"<rect x=\"2\" y=\"8\" width=\"42\" height=\"30\" rx=\"7\" fill=\"#b9a38a\" stroke=\"#6e5a44\" stroke-width=\"1.5\"/><path d=\"M8 11.5 h30 q4 0 4 4 v15 q0 4 -4 4 h-30 q-4 0 -4 -4 v-15 q0 -4 4 -4 z\" fill=\"#6b4a2e\"/><path d=\"M2.6 18 h3 M2.6 28 h3 M40.4 18 h3 M40.4 28 h3 M15 8.6 v2.6 M31 8.6 v2.6 M15 34.8 v2.6 M31 34.8 v2.6\" stroke=\"#6e5a44\" stroke-width=\"1\"/><ellipse cx=\"8.3\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 8.3 19.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"12.7\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 12.7 19.2)\" fill=\"#4f9e58\"/><ellipse cx=\"16.8\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 16.8 18.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"21.2\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 21.2 18.2)\" fill=\"#4f9e58\"/><ellipse cx=\"25.3\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 25.3 19.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"29.7\" cy=\"19.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 29.7 19.2)\" fill=\"#4f9e58\"/><ellipse cx=\"33.8\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 33.8 18.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"38.2\" cy=\"18.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 38.2 18.2)\" fill=\"#4f9e58\"/><ellipse cx=\"12.3\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 12.3 26.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"16.7\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 16.7 26.2)\" fill=\"#4f9e58\"/><ellipse cx=\"20.8\" cy=\"25.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 20.8 25.7)\" fill=\"#3f8a4a\"/><ellipse cx=\"25.2\" cy=\"25.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 25.2 25.7)\" fill=\"#4f9e58\"/><ellipse cx=\"29.3\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 29.3 26.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"33.7\" cy=\"26.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 33.7 26.2)\" fill=\"#4f9e58\"/><ellipse cx=\"8.3\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 8.3 32.7)\" fill=\"#3f8a4a\"/><ellipse cx=\"12.7\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 12.7 32.7)\" fill=\"#4f9e58\"/><ellipse cx=\"16.8\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 16.8 33.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"21.2\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 21.2 33.2)\" fill=\"#4f9e58\"/><ellipse cx=\"25.3\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 25.3 32.7)\" fill=\"#3f8a4a\"/><ellipse cx=\"29.7\" cy=\"32.7\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 29.7 32.7)\" fill=\"#4f9e58\"/><ellipse cx=\"33.8\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(-30 33.8 33.2)\" fill=\"#3f8a4a\"/><ellipse cx=\"38.2\" cy=\"33.2\" rx=\"2.4\" ry=\"1.2\" transform=\"rotate(30 38.2 33.2)\" fill=\"#4f9e58\"/><g fill=\"#e0526a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"12.40\" cy=\"17.00\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"18.81\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"18.12\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"15.88\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"15.19\" r=\"1.7\"/></g><circle cx=\"10.5\" cy=\"17\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f2d24a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"20.90\" cy=\"16.00\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"17.81\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"17.12\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"14.88\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"14.19\" r=\"1.7\"/></g><circle cx=\"19\" cy=\"16\" r=\"1.1\" fill=\"#f2a53a\"/><g fill=\"#b05fc4\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"29.40\" cy=\"17.00\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"18.81\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"18.12\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"15.88\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"15.19\" r=\"1.7\"/></g><circle cx=\"27.5\" cy=\"17\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f28c3a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"37.90\" cy=\"16.00\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"17.81\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"17.12\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"14.88\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"14.19\" r=\"1.7\"/></g><circle cx=\"36\" cy=\"16\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#fbfaf6\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"16.40\" cy=\"24.00\" r=\"1.7\"/><circle cx=\"15.09\" cy=\"25.81\" r=\"1.7\"/><circle cx=\"12.96\" cy=\"25.12\" r=\"1.7\"/><circle cx=\"12.96\" cy=\"22.88\" r=\"1.7\"/><circle cx=\"15.09\" cy=\"22.19\" r=\"1.7\"/></g><circle cx=\"14.5\" cy=\"24\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#d94a8a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"24.90\" cy=\"23.50\" r=\"1.7\"/><circle cx=\"23.59\" cy=\"25.31\" r=\"1.7\"/><circle cx=\"21.46\" cy=\"24.62\" r=\"1.7\"/><circle cx=\"21.46\" cy=\"22.38\" r=\"1.7\"/><circle cx=\"23.59\" cy=\"21.69\" r=\"1.7\"/></g><circle cx=\"23\" cy=\"23.5\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#e0526a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"33.40\" cy=\"24.00\" r=\"1.7\"/><circle cx=\"32.09\" cy=\"25.81\" r=\"1.7\"/><circle cx=\"29.96\" cy=\"25.12\" r=\"1.7\"/><circle cx=\"29.96\" cy=\"22.88\" r=\"1.7\"/><circle cx=\"32.09\" cy=\"22.19\" r=\"1.7\"/></g><circle cx=\"31.5\" cy=\"24\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f2d24a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"12.40\" cy=\"30.50\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"32.31\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"31.62\" r=\"1.7\"/><circle cx=\"8.96\" cy=\"29.38\" r=\"1.7\"/><circle cx=\"11.09\" cy=\"28.69\" r=\"1.7\"/></g><circle cx=\"10.5\" cy=\"30.5\" r=\"1.1\" fill=\"#f2a53a\"/><g fill=\"#b05fc4\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"20.90\" cy=\"31.00\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"32.81\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"32.12\" r=\"1.7\"/><circle cx=\"17.46\" cy=\"29.88\" r=\"1.7\"/><circle cx=\"19.59\" cy=\"29.19\" r=\"1.7\"/></g><circle cx=\"19\" cy=\"31\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#f28c3a\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"29.40\" cy=\"30.50\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"32.31\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"31.62\" r=\"1.7\"/><circle cx=\"25.96\" cy=\"29.38\" r=\"1.7\"/><circle cx=\"28.09\" cy=\"28.69\" r=\"1.7\"/></g><circle cx=\"27.5\" cy=\"30.5\" r=\"1.1\" fill=\"#f7e07a\"/><g fill=\"#fbfaf6\" stroke=\"rgba(0,0,0,.25)\" stroke-width=\".4\"><circle cx=\"37.90\" cy=\"31.00\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"32.81\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"32.12\" r=\"1.7\"/><circle cx=\"34.46\" cy=\"29.88\" r=\"1.7\"/><circle cx=\"36.59\" cy=\"29.19\" r=\"1.7\"/></g><circle cx=\"36\" cy=\"31\" r=\"1.1\" fill=\"#f7e07a\"/>"},"lamp":{"occupiable":false,"name":"lampe","icon":"<circle cx=\"23\" cy=\"12\" r=\"9\" fill=\"#f7e9a8\" opacity=\".5\"/><rect x=\"21\" y=\"16\" width=\"4\" height=\"24\" fill=\"#2f3b4a\"/><rect x=\"14\" y=\"39\" width=\"18\" height=\"4\" rx=\"1.5\" fill=\"#2f3b4a\"/><circle cx=\"23\" cy=\"12\" r=\"5\" fill=\"#f2c94c\" stroke=\"#2f3b4a\" stroke-width=\"1.4\"/>"},"locker":{"occupiable":false,"name":"casier","icon":"<rect x=\"8\" y=\"4\" width=\"30\" height=\"38\" rx=\"2\" fill=\"#7f95a8\" stroke=\"#3d4f5e\" stroke-width=\"1.5\"/><line x1=\"23\" y1=\"4\" x2=\"23\" y2=\"42\" stroke=\"#3d4f5e\"/><rect x=\"11\" y=\"10\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"26\" y=\"10\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"11\" y=\"16\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"26\" y=\"16\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><circle cx=\"19\" cy=\"28\" r=\"1.5\" fill=\"#1f2a33\"/><circle cx=\"34\" cy=\"28\" r=\"1.5\" fill=\"#1f2a33\"/>"},"mirror":{"occupiable":false,"name":"miroir","icon":"<rect x=\"12\" y=\"4\" width=\"22\" height=\"38\" rx=\"9\" fill=\"#c9a03a\" stroke=\"#7a5a12\" stroke-width=\"1.5\"/><rect x=\"15\" y=\"7\" width=\"16\" height=\"32\" rx=\"7\" fill=\"#dfe9ee\"/><path d=\"M19 11 q-3 8 0 20\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2.5\" opacity=\".8\"/>"},"piano":{"occupiable":false,"name":"piano","icon":"<path d=\"M8 8 h22 q10 0 12 12 v18 h-34 z\" fill=\"#1c1c1c\" stroke=\"#0b0b0b\" stroke-width=\"1.5\"/><rect x=\"10\" y=\"32\" width=\"18\" height=\"5\" fill=\"#f4efe6\"/><g fill=\"#1c1c1c\"><rect x=\"12\" y=\"32\" width=\"2\" height=\"3\"/><rect x=\"16\" y=\"32\" width=\"2\" height=\"3\"/><rect x=\"22\" y=\"32\" width=\"2\" height=\"3\"/></g>"},"plant":{"occupiable":false,"name":"plante en pot","icon":"<path d=\"M15 28 h16 l-2 12 h-12 z\" fill=\"#c2643a\" stroke=\"#7a3d20\" stroke-width=\"1.2\"/><ellipse cx=\"15\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(-30 15 17)\"/><ellipse cx=\"31\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(30 31 17)\"/><ellipse cx=\"23\" cy=\"13\" rx=\"6\" ry=\"11\" fill=\"#57a35e\"/>"},"planter":{"occupiable":false,"name":"jardinière","icon":"<path d=\"M6 25 q3 -9 11 -7 q5 -6 11 -1 q9 -1 11 8 z\" fill=\"#3f8a4a\" stroke=\"#2c6434\" stroke-width=\"1\"/><circle cx=\"14\" cy=\"19\" r=\"1.9\" fill=\"#e0526a\"/><circle cx=\"24\" cy=\"15\" r=\"1.9\" fill=\"#f2d24a\"/><circle cx=\"33\" cy=\"19\" r=\"1.9\" fill=\"#e0526a\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"14\" rx=\"2\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.5\"/><path d=\"M4 30 h38 M4 34.5 h38\" stroke=\"#7a5630\" stroke-width=\"1\"/><rect x=\"4\" y=\"25\" width=\"4\" height=\"14\" fill=\"#8a5a2f\" stroke=\"#4e3a1e\" stroke-width=\"1\"/><rect x=\"38\" y=\"25\" width=\"4\" height=\"14\" fill=\"#8a5a2f\" stroke=\"#4e3a1e\" stroke-width=\"1\"/><rect x=\"8\" y=\"39\" width=\"4\" height=\"3\" fill=\"#4e3a1e\"/><rect x=\"34\" y=\"39\" width=\"4\" height=\"3\" fill=\"#4e3a1e\"/>"},"speaker":{"occupiable":false,"name":"haut-parleur","icon":"<rect x=\"11\" y=\"3\" width=\"24\" height=\"40\" rx=\"3\" fill=\"#2f3338\" stroke=\"#111\" stroke-width=\"1.4\"/><circle cx=\"23\" cy=\"13\" r=\"5\" fill=\"#555\" stroke=\"#111\" stroke-width=\"1\"/><circle cx=\"23\" cy=\"13\" r=\"1.8\" fill=\"#111\"/><circle cx=\"23\" cy=\"30\" r=\"8.5\" fill=\"#555\" stroke=\"#111\" stroke-width=\"1\"/><circle cx=\"23\" cy=\"30\" r=\"5\" fill=\"#3b3f44\"/><circle cx=\"23\" cy=\"30\" r=\"2\" fill=\"#111\"/><path d=\"M38 17 q3 5 0 10 M41 14 q5 8 0 16 M8 17 q-3 5 0 10 M5 14 q-5 8 0 16\" fill=\"none\" stroke=\"#e0b050\" stroke-width=\"1.4\" stroke-linecap=\"round\"/>"},"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,3],"type":"counter"},{"cell":[1,6],"type":"lamp"},{"cell":[1,8],"type":"flowers"},{"cell":[2,1],"type":"sofa"},{"cell":[2,5],"type":"desk"},{"cell":[3,3],"type":"mirror"},{"cell":[3,7],"type":"bench"},{"cell":[4,1],"type":"locker"},{"cell":[5,2],"type":"bench"},{"cell":[5,3],"type":"mirror"},{"cell":[6,1],"type":"locker"},{"cell":[6,2],"type":"piano"},{"cell":[6,8],"type":"umbrella"},{"cell":[7,8],"type":"planter"},{"cell":[8,5],"type":"speaker"},{"cell":[8,7],"type":"plant"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Amélie","gender":"F","role":"dancer","color":"#c62828","avatar":{"bg":"#ad1457","skin":"#f6d8c0","hair":"#7a4a2a","style":"bun","shirt":"#f3c4d6","necklace":true},"clue":"Le <b>haut-parleur</b> se trouvait quelque part dans sa <b>colonne</b>. Il n’y avait <b>aucun homme</b> dans sa zone.","job":"danseuse classique","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Amélie\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f3c4d6\"/><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=\"#7a4a2a\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 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\"/></svg>","solverRole":"dancer","constraints":[{"type":"col_has","obj":"speaker"},{"type":"no_gender_in_area","gender":"M"}]},{"id":"B","name":"Benoît","gender":"M","role":"dancer","color":"#2e7d32","avatar":{"bg":"#1b2a33","skin":"#e4b998","hair":"#1c1a1a","style":"slick","shirt":"#1b1b1b","mustache":true,"mustacheColor":"#1c1a1a"},"clue":"Il était assis sur un <b>banc</b>. Il était sur la <b>Terrasse</b>.","job":"danseur de tango","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Benoît\"><rect width=\"80\" height=\"80\" fill=\"#1b2a33\"/><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=\"#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":"dancer","constraints":[{"type":"on","obj":"bench"},{"type":"area","areas":["Terrace"]}]},{"id":"C","name":"Clémence","gender":"F","role":"dancer","color":"#1565c0","avatar":{"bg":"#6e2c4b","skin":"#f3d3b5","hair":"#1c1a1a","style":"ponytail","shirt":"#5b2c6f","headband":"#e0b050"},"clue":"Il n’y avait <b>aucun homme</b> dans sa zone.","job":"danseuse contemporaine","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Clémence\"><rect width=\"80\" height=\"80\" fill=\"#6e2c4b\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#1c1a1a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5b2c6f\"/><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=\"#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=\"#e0b050\"/></svg>","solverRole":"dancer","constraints":[{"type":"no_gender_in_area","gender":"M"}]},{"id":"D","name":"Didier","gender":"M","role":"dancer","color":"#6a1b9a","avatar":{"bg":"#35607a","skin":"#f1c8a5","hair":"#b7482c","style":"short","shirt":"#2f3b4c","beard":true,"bow":true},"clue":"Il était dans le <b>Hall</b>.","job":"danseur de claquettes","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Didier\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><path d=\"M40 60 l-8 -4 v8 z M40 60 l8 -4 v8 z\" fill=\"#b8302b\"/><circle cx=\"40\" cy=\"60\" r=\"2\" fill=\"#7a1f1c\"/><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 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\"/></svg>","solverRole":"dancer","constraints":[{"type":"area","areas":["Lobby"]}]},{"id":"E","name":"Éléonore","gender":"F","role":"staff","color":"#e65100","avatar":{"bg":"#3d2a5a","skin":"#f0cdb0","hair":"#8a8278","style":"bob","shirt":"#4a5a7a","glasses":true,"scarf":"#c62828"},"clue":"Un <b>banc</b> se trouvait quelque part dans sa <b>ligne</b>. <b>Exactement une ligne au nord</b> d’elle se trouvait <b>la propriétaire</b>.","job":"professeure de danse","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Éléonore\"><rect width=\"80\" height=\"80\" fill=\"#3d2a5a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#8a8278\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#4a5a7a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 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=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#c62828\"/></svg>","solverRole":"staff","constraints":[{"type":"row_has","obj":"bench"},{"type":"rel_any","dir":"N","exact":1,"role":"owner"}]},{"id":"F","name":"Fabien","gender":"M","role":"staff","color":"#00838f","avatar":{"bg":"#5d4037","skin":"#e7b98f","hair":"#3a2a1c","style":"short","shirt":"#f4efe6","glasses":true,"beard":true,"bow":true},"clue":"Il était le <b>seul</b> à côté d’un <b>miroir</b>. Il y avait un <b>autre membre du personnel</b> dans sa zone.","job":"pianiste du studio","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Fabien\"><rect width=\"80\" height=\"80\" fill=\"#5d4037\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><path d=\"M40 60 l-8 -4 v8 z M40 60 l8 -4 v8 z\" fill=\"#b8302b\"/><circle cx=\"40\" cy=\"60\" r=\"2\" fill=\"#7a1f1c\"/><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\"/><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=\"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":"only_beside","obj":"mirror"},{"type":"with_role","role":"staff"}]},{"id":"G","name":"Gaëlle","gender":"F","role":"staff","color":"#ad1457","avatar":{"bg":"#00695c","skin":"#f6d8c0","hair":"#d9b464","style":"long","shirt":"#2e7d32","earrings":true},"clue":"Elle n’était <b>pas seule</b> dans sa zone.","job":"réceptionniste","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Gaëlle\"><rect width=\"80\" height=\"80\" fill=\"#00695c\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2e7d32\"/><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=\"#d9b464\"/><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=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"staff","constraints":[{"type":"not_alone"}]},{"id":"V","name":"Véronique","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f3d3b5","hair":"#d9d4cc","style":"bun","shirt":"#8b1a1a","necklace":true,"earrings":true},"clue":"<b>La victime.</b> Elle a été retrouvée dans le <b>Vestiaire</b>, à côté d’un <b>casier</b> – seule avec le meurtrier.","job":"propriétaire du studio","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Véronique\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8b1a1a\"/><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=\"#f3d3b5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f3d3b5\"/><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\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"owner","constraints":[{"type":"area","areas":["Changing Room"]},{"type":"beside","obj":"locker"}]}],"victim":"V","murderer":"C","solution":{"A":[1,5],"D":[2,4],"B":[3,7],"V":[4,2],"E":[5,6],"F":[6,3],"C":[7,1],"G":[8,8]},"walkthrough":[{"place":["B","A"],"cand":{"C":[[4,2],[4,4],[4,6],[4,8],[6,4],[6,6],[7,1],[7,2],[7,4],[7,6],[8,1],[8,2],[8,4],[8,6],[8,8]],"D":[[2,1],[2,2],[2,4]],"E":[[5,1],[5,2],[5,6],[5,8]],"F":[[4,3],[6,3]],"G":[[4,2],[4,4],[4,6],[4,8],[6,4],[6,6],[7,1],[7,2],[7,4],[7,6],[8,1],[8,2],[8,4],[8,6],[8,8]],"V":[[4,2],[7,1]]},"text":"Véronique a été retrouvée dans le Vestiaire à côté d’un casier : les casiers sont en R4C1 et R6C1, donc elle est en R3C1, R4C2, R5C1 ou R7C1 – et le meurtrier était seul avec elle là, donc le Vestiaire compte exactement deux personnes. Benoît était assis sur un banc sur la Terrasse, et la Terrasse n’a qu’un seul banc, celui de R3C7 : <b>Benoît est en R3C7</b>. Fabien était à côté d’un miroir – les miroirs sont en R3C3 et R5C3, donc il est en R4C3, R5C4 ou R6C3 (R3C4 est dans la ligne de Benoît), dans la Salle de danse. Amélie avait le haut-parleur (R8C5) dans sa colonne, donc elle est dans la colonne 5 ; mais il n’y avait aucun homme dans sa zone, et Fabien est dans la Salle de danse, donc elle n’y est pas – de la colonne 5, seule R1C5 est hors de la Salle de danse : <b>Amélie est en R1C5</b>, dans le Bureau. Éléonore avait un banc dans sa ligne : les bancs sont dans les lignes 3 et 5, et la ligne 3 est celle de Benoît, donc elle est dans la ligne 5. Cela exclut R5C4 pour Fabien – il est en R4C3 ou R6C3, donc la colonne 3 est la sienne – et R5C1 pour Véronique, qui est en R4C2 ou R7C1. Didier était dans le Hall ; la ligne 1 est celle d’Amélie et la colonne 3 celle de Fabien, donc il est en R2C1, R2C2 ou R2C4, dans la ligne 2."},{"place":["V","F"],"cand":{"C":[[7,1],[8,1]],"D":[[2,1],[2,4]],"E":[[5,6],[5,8]],"G":[[7,4],[7,6],[8,4],[8,6],[8,8]]},"text":"Exactement une ligne au nord d’Éléonore se trouvait la propriétaire – et la propriétaire du studio, c’est Véronique elle-même : Amélie, Benoît, Clémence et Didier sont des danseurs, Éléonore, Fabien et Gaëlle sont des membres du personnel. Éléonore est dans la ligne 5, donc Véronique est dans la ligne juste au-dessus, la ligne 4 ; de ses deux cases, seule R4C2 s’y trouve (R7C1 est dans la ligne 7) : <b>Véronique est en R4C2</b>, à côté du casier en R4C1. La ligne 4 est la sienne, donc R4C3 est exclue pour Fabien : <b>Fabien est en R6C3</b>, à côté du miroir en R5C3. Où était Clémence ? Il n’y avait aucun homme dans sa zone, donc elle n’est pas dans la Salle de danse (Fabien), pas sur la Terrasse (Benoît) et pas dans le Hall (Didier) ; le Bureau est exclu aussi : R1C5 est à Amélie, R3C6 est dans la ligne de Benoît et R2C6 dans celle de Didier. Elle est dans le Vestiaire – et là, il n’y avait que Véronique et le meurtrier : <b>Clémence est la meurtrière</b>, et personne d’autre n’est dans le Vestiaire."},{"place":["D","E"],"cand":{"C":[[7,1],[8,1]],"G":[[8,8]]},"text":"Les cases de Clémence dans le Vestiaire : R3C1 et R3C2 sont dans la ligne de Benoît, R5C1 et R5C2 dans celle d’Éléonore, R8C2 dans la colonne de Véronique et R8C3 dans celle de Fabien – elle est en R7C1 ou R8C1, donc la colonne 1 est la sienne. Didier, dans la ligne 2, perd R2C1 au profit d’elle et R2C2 au profit de Véronique : <b>Didier est en R2C4</b>. Fabien a dit qu’il y avait un autre membre du personnel dans sa zone, la Salle de danse – qui cela peut-il être, Éléonore ou Gaëlle ? Pas Gaëlle : les lignes 1–4 et 6 ainsi que les colonnes 2–5 et 7 sont prises, donc la seule case encore libre dans la Salle de danse est R5C6 – dans la ligne d’Éléonore. Le membre du personnel avec Fabien est donc Éléonore : <b>Éléonore est en R5C6</b>."},{"place":["G","C"],"text":"Gaëlle n’était pas seule dans sa zone. Les lignes 1–6 et les colonnes 2–7 sont prises, donc elle est en R7C1, R8C1 ou R8C8 (R7C8 est la jardinière) ; R7C1 et R8C1 sont dans le Vestiaire, où il n’y avait que Véronique et Clémence – <b>Gaëlle est en R8C8</b>, sur la Terrasse avec Benoît, bien pas seule. La ligne 8 est la sienne, donc <b>Clémence est en R7C1</b>, à côté du casier en R6C1 – seule avec Véronique dans le Vestiaire. Tout le monde est placé."},{"final":true,"text":"Affaire classée : Véronique était seule dans le Vestiaire avec la danseuse contemporaine. <b>Clémence est la meurtrière !</b>"}],"solver":{"rules":[],"occupiable":["bench","sofa"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-10-06"},"score":9.1329}