{"format":"murdoku-puzzle/1","id":"tacotruck","version":1,"difficulty":"very-easy","level":2,"size":{"rows":6,"cols":6},"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":"Der Taco-Wagen","tagline":"Ein Platz in Oaxaca · Freitagabend im Mai · der letzte Taco des Abends","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-10-24","story":"Oaxaca, ein warmer Freitagabend im Mai. Der kleine Taco-Wagen auf dem Platz hatte gerade seine letzten Tacos al pastor verkauft, der Grill kühlte ab, und die letzten Kunden tranken unter den Papierfähnchen ihre Horchata aus. Da gellte ein Schrei: Virgilio, der Mezcal-Verkäufer, der bei allen Schulden hatte, wurde tot aufgefunden. Das letzte Lied der Band blieb ungespielt.","rules":{"standard":["In jeder <b>Zeile</b> und jeder <b>Spalte</b> ist genau <b>eine Person</b>. Sobald du jemanden platzierst, streiche seine ganze Zeile und Spalte durch.","<b>„Neben“</b> = direkt links, rechts, darüber oder darunter, und <b>im selben Bereich</b>. Felder mit Gegenständen (der Grill, die Theke, der Elote-Wagen, die Kühlbox, die Tische, der Springbrunnen und die Bäume) können nicht besetzt werden; die Barhocker und die Bänke schon.","Der Mörder war <b>allein mit dem Opfer</b>: Niemand sonst war in diesem Bereich."],"special":[],"notes":["<i>„saß“</i> = war auf einem Barhocker oder einer Bank."],"example":{}},"roleNames":{"crew":"Teammitglied","customer":"Kunde","victim":"Opfer"},"personGroups":[{"id":"crew","name":"Das Team","persons":["A","B"]},{"id":"customers","name":"Die Kunden","persons":["C","D","E","V"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Kitchen","cells":[[1,1],[1,2],[1,3],[2,1],[2,2]],"fill":"#e3dfd6","pattern":"tiles","name":"Küche"},{"id":"Queue","cells":[[1,4],[2,3],[2,4],[3,1],[3,2],[3,3]],"fill":"#efe0c2","pattern":"boards","name":"Ausgabe"},{"id":"Picnic Area","cells":[[3,4],[3,5],[4,1],[4,2],[4,3],[4,4],[5,1],[5,2],[6,1]],"fill":"#dcebcd","pattern":"planks","name":"Picknickplatz"},{"id":"Plaza","cells":[[1,5],[1,6],[2,5],[2,6],[3,6],[4,5],[4,6],[5,3],[5,4],[5,5],[5,6],[6,2],[6,3],[6,4],[6,5],[6,6]],"fill":"#ecdcc8","pattern":"marble","name":"Platz"}],"objectTypes":{"bench":{"occupiable":true,"name":"Bank","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\"/>"},"cart":{"occupiable":false,"name":"Elote-Wagen","icon":"<rect x=\"8\" y=\"12\" width=\"30\" height=\"16\" rx=\"2\" fill=\"#8a5a34\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><circle cx=\"15\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><circle cx=\"31\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><path d=\"M38 20 h6\" stroke=\"#3f2d1d\" stroke-width=\"2.5\"/>"},"cooler":{"occupiable":false,"name":"Kühlbox","icon":"<rect x=\"7\" y=\"14\" width=\"32\" height=\"26\" rx=\"4\" fill=\"#3d7dc8\" stroke=\"#1f4a80\" stroke-width=\"1.5\"/><rect x=\"5\" y=\"9\" width=\"36\" height=\"9\" rx=\"3\" fill=\"#e9f0f7\" stroke=\"#1f4a80\" stroke-width=\"1.5\"/><rect x=\"18\" y=\"5\" width=\"10\" height=\"5\" rx=\"2\" fill=\"#1f4a80\"/><rect x=\"12\" y=\"24\" width=\"22\" height=\"4\" rx=\"2\" fill=\"#e9f0f7\" opacity=\".8\"/>"},"counter":{"occupiable":false,"name":"Theke","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\"/>"},"fountain":{"occupiable":false,"name":"Springbrunnen","icon":"<ellipse cx=\"23\" cy=\"33\" rx=\"18\" ry=\"8\" fill=\"#9fd3ea\" stroke=\"#4a7c95\" stroke-width=\"1.5\"/><rect x=\"19\" y=\"14\" width=\"8\" height=\"18\" fill=\"#b9b6ae\" stroke=\"#5b5852\"/><ellipse cx=\"23\" cy=\"14\" rx=\"10\" ry=\"4\" fill=\"#9fd3ea\" stroke=\"#4a7c95\"/><path d=\"M23 4 q-6 6 -4 10 M23 4 q6 6 4 10\" fill=\"none\" stroke=\"#7fb8d0\" stroke-width=\"2\"/>"},"grill":{"occupiable":false,"name":"Grill","icon":"<rect x=\"5\" y=\"14\" width=\"36\" height=\"20\" rx=\"2\" fill=\"#4a4a4a\" stroke=\"#222\" stroke-width=\"1.5\"/><rect x=\"8\" y=\"17\" width=\"30\" height=\"10\" fill=\"#2a1c16\"/><circle cx=\"13\" cy=\"23\" r=\"2.2\" fill=\"#ff7a2e\"/><circle cx=\"21\" cy=\"21\" r=\"2\" fill=\"#ffb03c\"/><circle cx=\"29\" cy=\"24\" r=\"2.3\" fill=\"#ff7a2e\"/><circle cx=\"34\" cy=\"20\" r=\"1.6\" fill=\"#ffb03c\"/><path d=\"M8 16 h30 M8 19.5 h30 M8 23 h30 M8 26.5 h30\" stroke=\"#b9b9b9\" stroke-width=\"1.1\"/><rect x=\"7\" y=\"34\" width=\"3\" height=\"8\" fill=\"#333\"/><rect x=\"36\" y=\"34\" width=\"3\" height=\"8\" fill=\"#333\"/><path d=\"M15 12 q2 -4 0 -8 M23 12 q2 -4 0 -8 M31 12 q2 -4 0 -8\" fill=\"none\" stroke=\"#9aa0a6\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>"},"stool":{"occupiable":true,"name":"Barhocker","icon":"<circle cx=\"23\" cy=\"23\" r=\"11\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"23\" r=\"5\" fill=\"#d9d5cc\"/>"},"table":{"occupiable":false,"name":"Tisch","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\"/>","iconTall":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"78\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"68\" rx=\"3\" fill=\"#d1a675\"/>"},"tree":{"occupiable":false,"name":"Baum","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":"grill"},{"cell":[1,6],"type":"tree"},{"cell":[2,2],"type":"counter"},{"cell":[2,3],"type":"stool"},{"cell":[2,4],"type":"stool"},{"cell":[2,5],"type":"cart"},{"cell":[3,1],"type":"cooler"},{"cell":[4,2],"type":"table"},{"cell":[4,3],"type":"bench"},{"cell":[4,4],"type":"table"},{"cell":[5,2],"type":"bench"},{"cell":[5,5],"type":"fountain"},{"cell":[6,3],"type":"tree"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Alejandra","gender":"F","role":"crew","color":"#c62828","avatar":{"bg":"#c62828","skin":"#c99067","hair":"#1c1a1a","style":"ponytail","shirt":"#8e2a2a","apron":true,"earrings":true},"clue":"Sie war neben der <b>Kühlbox</b>.","job":"die Taquera, der der Wagen gehört","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Alejandra\"><rect width=\"80\" height=\"80\" fill=\"#c62828\"/><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=\"#8e2a2a\"/><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=\"#c99067\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#c99067\"/><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\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"crew","constraints":[{"type":"beside","obj":"cooler"}]},{"id":"B","name":"Bartolo","gender":"M","role":"crew","color":"#2e7d32","avatar":{"bg":"#2e7d32","skin":"#c48a5c","hair":"#2a1c14","style":"short","shirt":"#3a7d44","apron":true},"clue":"Er war auf dem <b>Picknickplatz</b>.","job":"ihr Neffe, der die Bestellungen aufnimmt","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Bartolo\"><rect width=\"80\" height=\"80\" fill=\"#2e7d32\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3a7d44\"/><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=\"#c48a5c\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#c48a5c\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#2a1c14\"/><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":"crew","constraints":[{"type":"area","areas":["Picnic Area"]}]},{"id":"C","name":"Citlali","gender":"F","role":"customer","color":"#00897b","avatar":{"bg":"#00897b","skin":"#d9a57a","hair":"#3a2a1c","style":"bob","shirt":"#26a69a","glasses":true},"clue":"Sie war <b>nicht</b> neben dem <b>Elote-Wagen</b>. Sie war <b>nicht</b> neben dem <b>Springbrunnen</b>.","job":"eine Grundschullehrerin","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Citlali\"><rect width=\"80\" height=\"80\" fill=\"#00897b\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#3a2a1c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#26a69a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#d9a57a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#d9a57a\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 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\"/></svg>","solverRole":"customer","constraints":[{"type":"not_beside","obj":"cart"},{"type":"not_beside","obj":"fountain"}]},{"id":"D","name":"Dorotea","gender":"F","role":"customer","color":"#6a1b9a","avatar":{"bg":"#6a1b9a","skin":"#c99067","hair":"#b8b2aa","style":"bun","shirt":"#7b3f9e","scarf":"#9c4dcc"},"clue":"Sie war in der <b>ersten Spalte</b>.","job":"die Trompeterin der Blaskapelle vom Platz","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dorotea\"><rect width=\"80\" height=\"80\" fill=\"#6a1b9a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7b3f9e\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#c99067\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#c99067\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#b8b2aa\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#b8b2aa\"/><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=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#9c4dcc\"/></svg>","solverRole":"customer","constraints":[{"type":"col","cols":[1]}]},{"id":"E","name":"Efraín","gender":"M","role":"customer","color":"#e65100","avatar":{"bg":"#e65100","skin":"#c48a5c","hair":"#1c1a1a","style":"slick","shirt":"#f2a65a","mustache":true,"mustacheColor":"#1c1a1a"},"clue":"Er saß auf einem <b>Barhocker</b>.","job":"ein Taxifahrer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Efraín\"><rect width=\"80\" height=\"80\" fill=\"#e65100\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f2a65a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#c48a5c\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#c48a5c\"/><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":"customer","constraints":[{"type":"on","obj":"stool"}]},{"id":"V","name":"Virgilio","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#4a3a30","skin":"#c99067","hair":"#5a5a5a","style":"bald","shirt":"#4e342e","beard":true},"clue":"<b>Das Opfer.</b> Er wurde auf dem <b>Platz</b> gefunden, neben einem <b>Baum</b> – allein mit dem Mörder.","job":"ein Mezcal-Verkäufer","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Virgilio\"><rect width=\"80\" height=\"80\" fill=\"#4a3a30\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#4e342e\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#c99067\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#c99067\"/><path d=\"M26 30 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#5a5a5a\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#5a5a5a\"/><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=\"#5a5a5a\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"customer","constraints":[{"type":"area","areas":["Plaza"]},{"type":"beside","obj":"tree"}]}],"victim":"V","murderer":"C","solution":{"V":[1,5],"E":[2,4],"A":[3,2],"B":[4,3],"D":[5,1],"C":[6,6]},"walkthrough":[{"place":["A"],"cand":{"B":[[4,1],[4,3],[5,1],[6,1]],"C":[[1,3],[1,4],[2,1],[2,3],[2,4],[4,1],[4,3],[4,6],[5,1],[5,3],[6,1],[6,4],[6,6]],"D":[[2,1],[4,1],[5,1],[6,1]],"E":[[2,3],[2,4]]},"text":"Alejandra was beside the cooler (R3C1, in the Queue). Of its neighbours, R2C1 belongs to the Kitchen and R4C1 to the Picnic Area – only R3C2 is in the Queue. So <b>Alejandra is at R3C2</b>: cross out row 3 and column 2."},{"place":["B"],"cand":{"C":[[1,4],[6,4],[6,6]],"D":[[5,1],[6,1]],"E":[[2,4]]},"text":"Dorotea was in the first column, so column 1 is hers – nobody else can be there. Efraín was sitting on a stool, and both of them (R2C3, R2C4) are in row 2, so row 2 is his. Bartolo was in the Picnic Area: R3C4 and R3C5 are in Alejandra's row, R5C2 in her column, R4C1, R5C1 and R6C1 in Dorotea's column (R4C2 and R4C4 are tables). Only the bench is left: <b>Bartolo is at R4C3</b>."},{"place":["E","C"],"cand":{"D":[[5,1]]},"text":"Column 3 is Bartolo's now, so Efraín cannot use the stool at R2C3: <b>Efraín is at R2C4</b>. Citlali was not beside the elote cart and not beside the fountain. Rows 1, 5, 6 and columns 5, 6 are left for her (column 1 is Dorotea's): R1C5 is beside the elote cart, R5C6 and R6C5 are beside the fountain, R1C6 is a tree and R5C5 the fountain itself. <b>Citlali is at R6C6</b>."},{"place":["D"],"cand":{},"text":"Only rows 1 and 5 are free. In Dorotea's column 1, R1C1 is the grill: <b>Dorotea is at R5C1</b>."},{"final":true,"text":"Case closed: the last free square, R1C5, is the victim's – on the Plaza, beside a tree, just as his card says, although we never needed it. The only other person on the Plaza is Citlali, at R6C6. <b>Citlali is the murderer!</b>"}],"solver":{"rules":[],"occupiable":["bench","stool"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-10-24"},"score":0.001}