(supertux-level (version 3) (name (_ "Worst Combination Lock Ever")) (author "divVerent") (license "CC-BY-SA 4.0 International") (sector (name "main") (init-script " k <- [1, 5, 2, 7, 2, 5, 4, 8, 7, 4, 0, 6, 8, 5, 8, 2, 1, 8, 5, 0, 3, 2, 4, 3, 6, 2, 9, 2, 6, 9, 5, 0, 9, 4, 5, 4, 0, 2, 0, 5, 1, 8, 5, 7, 9, 2, 6, 8, 0, 4, 0, 6, 7, 5, 3, 7, 2, 3, 9, 9, 9, 9, 2, 0, 5, 6, 4, 2, 2, 6, 1, 5, 3, 4, 2, 2, 0, 0, 6, 1, 0, 4, 5, 7, 8, 3, 4, 0, 0, 2, 0, 5, 3, 5, 3, 5, 3, 8, 1, 3, 6, 3, 6, 4, 5, 6, 7, 3, 6, 6, 1, 2, 4, 5, 6, 8, 1, 9, 1, 6, 9, 9, 4, 5, 9, 6, 0, 8, 6, 2, 3, 5, 4, 9, 2, 9, 6, 1, 0, 6, 4, 3, 0, 5, 8, 6, 0, 3, 9, 3, 8, 2, 9, 9, 9, 4, 8, 0, 6, 6, 3, 7, 7, 6, 2, 2, 2, 4, 8, 4, 7, 1, 4, 7, 7, 6, 3, 9, 1, 5, 7, 7, 9, 0, 9, 1, 1, 6, 0, 4, 1, 7, 3, 3, 8, 0, 9, 7, 0, 9, 7, 0, 7, 8, 3, 0, 8, 0, 2, 9, 6, 6, 4, 4, 2, 8, 5, 7, 3, 1, 0, 0, 9, 3, 2, 6, 3, 1, 4, 3, 7, 0, 6, 5, 6, 3, 9, 9, 0, 4, 1, 9, 8, 3, 9, 2, 5, 3, 1, 0, 3, 9, 6, 4, 7, 8, 3, 6, 7, 1, 6, 5, 1, 9, 0, 1, 8, 6, 6, 3, 6, 8, 9, 9, 1, 1, 2, 6, 6, 3, 8, 9, 9, 0, 5, 5, 3, 1, 9, 8, 6, 4, 6, 6, 8, 0, 5, 3, 3, 9, 6, 5, 5, 0, 9, 0, 8, 7, 1]; x <- []; function c() { if (x.len() <= 1 || x.len() >= k.len()) { return false; } local n = k.map(@(d) d); local d = 0; local f = 0; while(d <= n.len() - x.len()) { local l = false; if (d <= f) { for (local i = 0; i < x.len(); ++i) { if (n[d+i] < x[i]) { l = true; break; } if (n[d+i] > x[i]) { break; } } } if (l) { ++d; } else { local b = 0; for (local i = d + x.len() - 1; i >= 0; --i) { n[i] = n[i] - (i >= d ? x[i-d] : 0) - b; if (n[i] < 0) { n[i] = n[i] + 10; b = 1; } else { b = 0; } } while (f < n.len() && n[f] == 0) { f++; } } } display([x, n]); return n.filter(@(i, d) d > 0).len() == 0; } function button(b) { if (b == -1) { x = array(0, 0); c(); } else if (b == -2) { if (x.len() > 0) { x.pop(); } c(); } else { if (x.len() > 0 || b > 0) { x.push(b); if (c()) { Solved.fade(0.0, 4.0); } } } }; ") (ambient-light (color 1 1 1) ) (background (speed 0.5) (image "images/background/antarctic/arctis2.png") ) (bonusblock (script "button(1);") (count 999999) (x 192) (y 128) ) (bonusblock (script "button(2);") (count 999999) (x 320) (y 128) ) (bonusblock (script "button(3);") (count 999999) (x 448) (y 128) ) (bonusblock (script "button(4);") (count 999999) (x 192) (y 256) ) (bonusblock (script "button(5);") (count 999999) (x 320) (y 256) ) (bonusblock (script "button(6);") (count 999999) (x 448) (y 256) ) (bonusblock (script "button(7);") (count 999999) (x 192) (y 384) ) (bonusblock (script "button(8);") (count 999999) (x 320) (y 384) ) (bonusblock (script "button(9);") (count 999999) (x 448) (y 384) ) (bonusblock (script "button(0);") (count 999999) (x 320) (y 512) ) (bonusblock (script "button(-2);") (count 999999) (x 448) (y 512) ) (bonusblock (script "button(-1);") (count 999999) (x 192) (y 512) ) (camera (name "Camera") (mode "normal") ) (music ) (sequencetrigger (sequence "endsequence") (width 64) (height 608) (x 608) (y 32) ) (spawnpoint (name "main") (x 128) (y 512) ) (tilemap (solid #f) (z-pos -100) (width 21) (height 21) (tiles 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) (tilemap (solid #t) (z-pos 100) (name "Solved") (width 21) (height 21) (tiles 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) (tilemap (solid #t) (z-pos 0) (width 21) (height 21) (tiles 68 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 69 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 79 0 0 0 2001 0 0 0 1722 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 2001 0 0 0 1722 0 0 2003 2001 2002 0 0 0 129 129 68 65 69 0 0 0 1722 0 0 0 1722 0 0 0 1722 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 2003 1722 2002 0 1722 2001 1722 0 1722 1722 1722 0 0 0 129 129 68 65 69 0 0 0 1722 0 0 0 1722 0 0 0 1722 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 80 0 0 0 483 0 0 0 1721 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 129 68 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 69 ) ) ) )