var Tetris = AspectScript.i13n.varWrite("Tetris",AspectScript.i13n.wrap(function(){return (function Tetris(){ {var Tetris = arguments.callee = arguments.callee.wrapper;var Window = AspectScript.i13n.varWrite("Window",AspectScript.i13n.wrap(function(){return (function Window(id){ {var Window = arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"id",(AspectScript.i13n.varRead("id",id))); AspectScript.i13n.propWrite(this,"el",AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",[AspectScript.i13n.propRead(this,"id")],this)); var self = (AspectScript.i13n.varWrite("self", this, undefined)); AspectScript.i13n.propWrite(this,"activate",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"el"),"style"),"display",(((AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"el"),"style"),"display") == "block")?("none"):("block")))); }})})); AspectScript.i13n.propWrite(this,"close",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"el"),"style"),"display","none"); }})})); AspectScript.i13n.propWrite(this,"isActive",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return (AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"el"),"style"),"display") == "block"); }})})); }})}),undefined); var Keyboard = AspectScript.i13n.varWrite("Keyboard",AspectScript.i13n.wrap(function(){return (function Keyboard(){ {var Keyboard = arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"up",38); AspectScript.i13n.propWrite(this,"down",40); AspectScript.i13n.propWrite(this,"left",37); AspectScript.i13n.propWrite(this,"right",39); AspectScript.i13n.propWrite(this,"n",78); AspectScript.i13n.propWrite(this,"r",82); AspectScript.i13n.propWrite(this,"space",32); AspectScript.i13n.propWrite(this,"f12",123); AspectScript.i13n.propWrite(this,"escape",27); AspectScript.i13n.propWrite(this,"keys",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"funcs",AspectScript.i13n.creation4([])); var self = (AspectScript.i13n.varWrite("self", this, undefined)); AspectScript.i13n.propWrite(this,"set",AspectScript.i13n.wrap(function(){return (function (key,func){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"keys"),"push",[(AspectScript.i13n.varRead("key",key))],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"funcs"),"push",[(AspectScript.i13n.varRead("func",func))],this); }})})); AspectScript.i13n.propWrite(this,"event",AspectScript.i13n.wrap(function(){return (function (e){ {arguments.callee = arguments.callee.wrapper;if(!(AspectScript.i13n.varRead("e",e))){ e = AspectScript.i13n.varWrite("e", AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"window"),"event"), e); } for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"keys"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("e",e)),"keyCode") == AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"keys"),(AspectScript.i13n.varRead("i",i)))){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"funcs"),(AspectScript.i13n.varRead("i",i)),[],this); } } }})})); }})}),undefined); var Stats = AspectScript.i13n.varWrite("Stats",AspectScript.i13n.wrap(function(){return (function Stats(){ {var Stats = arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propRead(this,"level"); AspectScript.i13n.propRead(this,"time"); AspectScript.i13n.propRead(this,"apm"); AspectScript.i13n.propRead(this,"lines"); AspectScript.i13n.propRead(this,"score"); AspectScript.i13n.propRead(this,"puzzles"); AspectScript.i13n.propRead(this,"actions"); AspectScript.i13n.propWrite(this,"el",AspectScript.i13n.creation2(function(){var $__this__=arguments[0];arguments=arguments[1];AspectScript.i13n.propWrite($__this__, "level",AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-stats-level"],this));AspectScript.i13n.propWrite($__this__, "time",AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-stats-time"],this));AspectScript.i13n.propWrite($__this__, "apm",AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-stats-apm"],this));AspectScript.i13n.propWrite($__this__, "lines",AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-stats-lines"],this));AspectScript.i13n.propWrite($__this__, "score",AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-stats-score"],this));},this,arguments)); AspectScript.i13n.propWrite(this,"timerId",null); var self = (AspectScript.i13n.varWrite("self", this, undefined)); AspectScript.i13n.propWrite(this,"start",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2(this,"reset",[],this); AspectScript.i13n.propWrite(this,"timerId",AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"setInterval"),[AspectScript.i13n.propRead(this,"incTime"), 1000],this)); }})})); AspectScript.i13n.propWrite(this,"stop",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead(this,"timerId")){ AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"clearInterval"),[AspectScript.i13n.propRead(this,"timerId")],this); } }})})); AspectScript.i13n.propWrite(this,"reset",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2(this,"stop",[],this); AspectScript.i13n.propWrite(this,"level",1); AspectScript.i13n.propWrite(this,"time",0); AspectScript.i13n.propWrite(this,"apm",0); AspectScript.i13n.propWrite(this,"lines",0); AspectScript.i13n.propWrite(this,"score",0); AspectScript.i13n.propWrite(this,"puzzles",0); AspectScript.i13n.propWrite(this,"actions",0); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"level"),"innerHTML",AspectScript.i13n.propRead(this,"level")); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"time"),"innerHTML",AspectScript.i13n.propRead(this,"time")); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"apm"),"innerHTML",AspectScript.i13n.propRead(this,"apm")); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"lines"),"innerHTML",AspectScript.i13n.propRead(this,"lines")); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"score"),"innerHTML",AspectScript.i13n.propRead(this,"score")); }})})); AspectScript.i13n.propWrite(this,"incTime",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propIncr((AspectScript.i13n.varRead("self",self)),"time",1,true); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"el"),"time"),"innerHTML",AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"time")); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("self",self)),"apm",AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"parseInt"),[(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"actions") / AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"time")) * 60],this)); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"el"),"apm"),"innerHTML",AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"apm")); }})})); AspectScript.i13n.propWrite(this,"setScore",AspectScript.i13n.wrap(function(){return (function (i){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"score",(AspectScript.i13n.varRead("i",i))); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"score"),"innerHTML",AspectScript.i13n.propRead(this,"score")); }})})); AspectScript.i13n.propWrite(this,"setLevel",AspectScript.i13n.wrap(function(){return (function (i){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"level",(AspectScript.i13n.varRead("i",i))); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"level"),"innerHTML",AspectScript.i13n.propRead(this,"level")); }})})); AspectScript.i13n.propWrite(this,"setLines",AspectScript.i13n.wrap(function(){return (function (i){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"lines",(AspectScript.i13n.varRead("i",i))); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"el"),"lines"),"innerHTML",AspectScript.i13n.propRead(this,"lines")); }})})); AspectScript.i13n.propWrite(this,"setPuzzles",AspectScript.i13n.wrap(function(){return (function (i){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"puzzles",(AspectScript.i13n.varRead("i",i))); }})})); AspectScript.i13n.propWrite(this,"setActions",AspectScript.i13n.wrap(function(){return (function (i){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"actions",(AspectScript.i13n.varRead("i",i))); }})})); AspectScript.i13n.propWrite(this,"getScore",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"score"); }})})); AspectScript.i13n.propWrite(this,"getLevel",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"level"); }})})); AspectScript.i13n.propWrite(this,"getLines",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"lines"); }})})); AspectScript.i13n.propWrite(this,"getPuzzles",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"puzzles"); }})})); AspectScript.i13n.propWrite(this,"getActions",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"actions"); }})})); }})}),undefined); var Area = AspectScript.i13n.varWrite("Area",AspectScript.i13n.wrap(function(){return (function Area(unit,x,y,id){ {var Area = arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"unit",(AspectScript.i13n.varRead("unit",unit))); AspectScript.i13n.propWrite(this,"x",(AspectScript.i13n.varRead("x",x))); AspectScript.i13n.propWrite(this,"y",(AspectScript.i13n.varRead("y",y))); AspectScript.i13n.propWrite(this,"el",AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",[(AspectScript.i13n.varRead("id",id))],this)); AspectScript.i13n.propWrite(this,"board",AspectScript.i13n.creation4([])); for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(this,"y");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"board"),"push",[AspectScript.i13n.creation(0,AspectScript.i13n.propRead(AspectScript.globalObject,"Array"),[])],this); for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(this,"x");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),"push",[0],this); } } AspectScript.i13n.propWrite(this,"destroy",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"el"),"removeChild",[AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))],this); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),x,0); } } } }})})); AspectScript.i13n.propWrite(this,"removeFullLines",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;var lines = (AspectScript.i13n.varWrite("lines", 0, undefined)); for(var y = (AspectScript.i13n.varWrite("y", AspectScript.i13n.propRead(this,"y") - 1, undefined));(AspectScript.i13n.varRead("y",y)) > 0;((y = (AspectScript.i13n.varWrite("y",y-1))) + (1))){ if(AspectScript.i13n.call2(this,"isLineFull",[(AspectScript.i13n.varRead("y",y))],this)){ AspectScript.i13n.call2(this,"removeLine",[(AspectScript.i13n.varRead("y",y))],this); ((lines = (AspectScript.i13n.varWrite("lines",lines+1))) + (-1)); ((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1)); } } return (AspectScript.i13n.varRead("lines",lines)); }})})); AspectScript.i13n.propWrite(this,"isLineFull",AspectScript.i13n.wrap(function(){return (function (y){ {arguments.callee = arguments.callee.wrapper;for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(this,"x");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(!AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ return false; } } return true; }})})); AspectScript.i13n.propWrite(this,"removeLine",AspectScript.i13n.wrap(function(){return (function (y){ {arguments.callee = arguments.callee.wrapper;for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(this,"x");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"el"),"removeChild",[AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))],this); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),x,0); } ((y = (AspectScript.i13n.varWrite("y",y-1))) + (1)); for(;(AspectScript.i13n.varRead("y",y)) > 0;((y = (AspectScript.i13n.varWrite("y",y-1))) + (1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(this,"x");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ var el = (AspectScript.i13n.varWrite("el", AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x))), undefined)); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"style"),"top",AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"offsetTop") + AspectScript.i13n.propRead(this,"unit") + "px"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y)) + 1),x,(AspectScript.i13n.varRead("el",el))); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),x,0); } } } }})})); AspectScript.i13n.propWrite(this,"getBlock",AspectScript.i13n.wrap(function(){return (function (y,x){ {arguments.callee = arguments.callee.wrapper;if((AspectScript.i13n.varRead("y",y)) < 0){ return 0; } if((AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(this,"y") && (AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(this,"x")){ return AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x))); } else { throw "Area.getBlock(" + (AspectScript.i13n.varRead("y",y)) + ", " + (AspectScript.i13n.varRead("x",x)) + ") failed" } }})})); AspectScript.i13n.propWrite(this,"addElement",AspectScript.i13n.wrap(function(){return (function (el){ {arguments.callee = arguments.callee.wrapper;var x = (AspectScript.i13n.varWrite("x", AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"parseInt"),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"offsetLeft") / AspectScript.i13n.propRead(this,"unit")],this), undefined)); var y = (AspectScript.i13n.varWrite("y", AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"parseInt"),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"offsetTop") / AspectScript.i13n.propRead(this,"unit")],this), undefined)); if((AspectScript.i13n.varRead("y",y)) >= 0 && (AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(this,"y") && (AspectScript.i13n.varRead("x",x)) >= 0 && (AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(this,"x")){ AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),x,(AspectScript.i13n.varRead("el",el))); } else { } }})})); }})}),undefined); var Puzzle = AspectScript.i13n.varWrite("Puzzle",AspectScript.i13n.wrap(function(){return (function Puzzle(tetris,area){ {var Puzzle = arguments.callee = arguments.callee.wrapper;var self = (AspectScript.i13n.varWrite("self", this, undefined)); AspectScript.i13n.propWrite(this,"tetris",(AspectScript.i13n.varRead("tetris",tetris))); AspectScript.i13n.propWrite(this,"area",(AspectScript.i13n.varRead("area",area))); AspectScript.i13n.propWrite(this,"fallDownID",null); AspectScript.i13n.propWrite(this,"forceMoveDownID",null); AspectScript.i13n.propWrite(this,"type",null); AspectScript.i13n.propWrite(this,"nextType",null); AspectScript.i13n.propWrite(this,"position",null); AspectScript.i13n.propWrite(this,"speed",null); AspectScript.i13n.propWrite(this,"running",null); AspectScript.i13n.propWrite(this,"stopped",null); AspectScript.i13n.propWrite(this,"board",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"elements",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"nextElements",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"x",null); AspectScript.i13n.propWrite(this,"y",null); AspectScript.i13n.propWrite(this,"puzzles",AspectScript.i13n.creation4([AspectScript.i13n.creation4([AspectScript.i13n.creation4([0, 0, 1]), AspectScript.i13n.creation4([1, 1, 1]), AspectScript.i13n.creation4([0, 0, 0])]), AspectScript.i13n.creation4([AspectScript.i13n.creation4([1, 0, 0]), AspectScript.i13n.creation4([1, 1, 1]), AspectScript.i13n.creation4([0, 0, 0])]), AspectScript.i13n.creation4([AspectScript.i13n.creation4([0, 1, 1]), AspectScript.i13n.creation4([1, 1, 0]), AspectScript.i13n.creation4([0, 0, 0])]), AspectScript.i13n.creation4([AspectScript.i13n.creation4([1, 1, 0]), AspectScript.i13n.creation4([0, 1, 1]), AspectScript.i13n.creation4([0, 0, 0])]), AspectScript.i13n.creation4([AspectScript.i13n.creation4([0, 1, 0]), AspectScript.i13n.creation4([1, 1, 1]), AspectScript.i13n.creation4([0, 0, 0])]), AspectScript.i13n.creation4([AspectScript.i13n.creation4([1, 1]), AspectScript.i13n.creation4([1, 1])]), AspectScript.i13n.creation4([AspectScript.i13n.creation4([0, 0, 0, 0]), AspectScript.i13n.creation4([1, 1, 1, 1]), AspectScript.i13n.creation4([0, 0, 0, 0]), AspectScript.i13n.creation4([0, 0, 0, 0])])])); AspectScript.i13n.propWrite(this,"reset",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead(this,"fallDownID")){ AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"clearTimeout"),[AspectScript.i13n.propRead(this,"fallDownID")],this); } if(AspectScript.i13n.propRead(this,"forceMoveDownID")){ AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"clearTimeout"),[AspectScript.i13n.propRead(this,"forceMoveDownID")],this); } AspectScript.i13n.propWrite(this,"type",AspectScript.i13n.propRead(this,"nextType")); AspectScript.i13n.propWrite(this,"nextType",AspectScript.i13n.call(AspectScript.globalObject,(AspectScript.i13n.varRead("random",random)),[AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"puzzles"),"length")],this)); AspectScript.i13n.propWrite(this,"position",0); AspectScript.i13n.propWrite(this,"speed",80 + (700 / AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"getLevel",[],this))); AspectScript.i13n.propWrite(this,"running",false); AspectScript.i13n.propWrite(this,"stopped",false); AspectScript.i13n.propWrite(this,"board",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"elements",AspectScript.i13n.creation4([])); for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"nextElements"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-nextpuzzle"],this),"removeChild",[AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"nextElements"),(AspectScript.i13n.varRead("i",i)))],this); } AspectScript.i13n.propWrite(this,"nextElements",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"x",null); AspectScript.i13n.propWrite(this,"y",null); }})})); AspectScript.i13n.propWrite(this,"nextType",AspectScript.i13n.call(AspectScript.globalObject,(AspectScript.i13n.varRead("random",random)),[AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"puzzles"),"length")],this)); AspectScript.i13n.call2(this,"reset",[],this); AspectScript.i13n.propWrite(this,"isRunning",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"running"); }})})); AspectScript.i13n.propWrite(this,"isStopped",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"stopped"); }})})); AspectScript.i13n.propWrite(this,"getX",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"x"); }})})); AspectScript.i13n.propWrite(this,"getY",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"y"); }})})); AspectScript.i13n.propWrite(this,"mayPlace",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;var puzzle = (AspectScript.i13n.varWrite("puzzle", AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"puzzles"),AspectScript.i13n.propRead(this,"type")), undefined)); var areaStartX = (AspectScript.i13n.varWrite("areaStartX", AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"parseInt"),[(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"x") - AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),0),"length")) / 2],this), undefined)); var areaStartY = (AspectScript.i13n.varWrite("areaStartY", 1, undefined)); var lineFound = (AspectScript.i13n.varWrite("lineFound", false, undefined)); var lines = (AspectScript.i13n.varWrite("lines", 0, undefined)); for(var y = (AspectScript.i13n.varWrite("y", AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),"length") - 1, undefined));(AspectScript.i13n.varRead("y",y)) >= 0;((y = (AspectScript.i13n.varWrite("y",y-1))) + (1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ lineFound = AspectScript.i13n.varWrite("lineFound", true, lineFound); if(AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"area"),"getBlock",[(AspectScript.i13n.varRead("areaStartY",areaStartY)), (AspectScript.i13n.varRead("areaStartX",areaStartX)) + (AspectScript.i13n.varRead("x",x))],this)){ return false; } } } if((AspectScript.i13n.varRead("lineFound",lineFound))){ ((lines = (AspectScript.i13n.varWrite("lines",lines+1))) + (-1)); } if((AspectScript.i13n.varRead("areaStartY",areaStartY)) - (AspectScript.i13n.varRead("lines",lines)) < 0){ break } } return true; }})})); AspectScript.i13n.propWrite(this,"place",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"setPuzzles",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"getPuzzles",[],this) + 1],this); if(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"getPuzzles",[],this) >= (10 + AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"getLevel",[],this) * 2)){ AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"setLevel",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"getLevel",[],this) + 1],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"tetris"),"stats"),"setPuzzles",[0],this); } var puzzle = (AspectScript.i13n.varWrite("puzzle", AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"puzzles"),AspectScript.i13n.propRead(this,"type")), undefined)); var areaStartX = (AspectScript.i13n.varWrite("areaStartX", AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"parseInt"),[(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"x") - AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),0),"length")) / 2],this), undefined)); var areaStartY = (AspectScript.i13n.varWrite("areaStartY", 1, undefined)); var lineFound = (AspectScript.i13n.varWrite("lineFound", false, undefined)); var lines = (AspectScript.i13n.varWrite("lines", 0, undefined)); AspectScript.i13n.propWrite(this,"x",(AspectScript.i13n.varRead("areaStartX",areaStartX))); AspectScript.i13n.propWrite(this,"y",1); AspectScript.i13n.propWrite(this,"board",AspectScript.i13n.call2(this,"createEmptyPuzzle",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),"length"), AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),0),"length")],this)); for(var y = (AspectScript.i13n.varWrite("y", AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),"length") - 1, undefined));(AspectScript.i13n.varRead("y",y)) >= 0;((y = (AspectScript.i13n.varWrite("y",y-1))) + (1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ lineFound = AspectScript.i13n.varWrite("lineFound", true, lineFound); var el = (AspectScript.i13n.varWrite("el", AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"createElement",["div"],this), undefined)); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("el",el)),"className","block" + AspectScript.i13n.propRead(this,"type")); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"style"),"left",((AspectScript.i13n.varRead("areaStartX",areaStartX)) + (AspectScript.i13n.varRead("x",x))) * AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit") + "px"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"style"),"top",((AspectScript.i13n.varRead("areaStartY",areaStartY)) - (AspectScript.i13n.varRead("lines",lines))) * AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit") + "px"); AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"el"),"appendChild",[(AspectScript.i13n.varRead("el",el))],this); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),x,(AspectScript.i13n.varRead("el",el))); AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"elements"),"push",[(AspectScript.i13n.varRead("el",el))],this); } } if((AspectScript.i13n.varRead("lines",lines))){ AspectScript.i13n.propIncr(this,"y",-1,true); } if((AspectScript.i13n.varRead("lineFound",lineFound))){ ((lines = (AspectScript.i13n.varWrite("lines",lines+1))) + (-1)); } } AspectScript.i13n.propWrite(this,"running",true); AspectScript.i13n.propWrite(this,"fallDownID",AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"setTimeout"),[AspectScript.i13n.propRead(this,"fallDown"), AspectScript.i13n.propRead(this,"speed")],this)); var nextPuzzle = (AspectScript.i13n.varWrite("nextPuzzle", AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"puzzles"),AspectScript.i13n.propRead(this,"nextType")), undefined)); for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead((AspectScript.i13n.varRead("nextPuzzle",nextPuzzle)),"length");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("nextPuzzle",nextPuzzle)),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("nextPuzzle",nextPuzzle)),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ var el = (AspectScript.i13n.varWrite("el", AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"createElement",["div"],this), undefined)); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("el",el)),"className","block" + AspectScript.i13n.propRead(this,"nextType")); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"style"),"left",((AspectScript.i13n.varRead("x",x)) * AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit")) + "px"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"style"),"top",((AspectScript.i13n.varRead("y",y)) * AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit")) + "px"); AspectScript.i13n.call2(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-nextpuzzle"],this),"appendChild",[(AspectScript.i13n.varRead("el",el))],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"nextElements"),"push",[(AspectScript.i13n.varRead("el",el))],this); } } } }})})); AspectScript.i13n.propWrite(this,"destroy",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"el"),"removeChild",[AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),(AspectScript.i13n.varRead("i",i)))],this); } AspectScript.i13n.propWrite(this,"elements",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"board",AspectScript.i13n.creation4([])); AspectScript.i13n.call2(this,"reset",[],this); }})})); AspectScript.i13n.propWrite(this,"createEmptyPuzzle",AspectScript.i13n.wrap(function(){return (function (y,x){ {arguments.callee = arguments.callee.wrapper;var puzzle = (AspectScript.i13n.varWrite("puzzle", AspectScript.i13n.creation4([]), undefined)); for(var y2 = (AspectScript.i13n.varWrite("y2", 0, undefined));(AspectScript.i13n.varRead("y2",y2)) < (AspectScript.i13n.varRead("y",y));((y2 = (AspectScript.i13n.varWrite("y2",y2+1))) + (-1))){ AspectScript.i13n.call2((AspectScript.i13n.varRead("puzzle",puzzle)),"push",[AspectScript.i13n.creation(0,AspectScript.i13n.propRead(AspectScript.globalObject,"Array"),[])],this); for(var x2 = (AspectScript.i13n.varWrite("x2", 0, undefined));(AspectScript.i13n.varRead("x2",x2)) < (AspectScript.i13n.varRead("x",x));((x2 = (AspectScript.i13n.varWrite("x2",x2+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),(AspectScript.i13n.varRead("y2",y2))),"push",[0],this); } } return (AspectScript.i13n.varRead("puzzle",puzzle)); }})})); AspectScript.i13n.propWrite(this,"fallDown",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"isRunning",[],this)){ if(AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"mayMoveDown",[],this)){ AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"moveDown",[],this); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("self",self)),"fallDownID",AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"setTimeout"),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"fallDown"), AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"speed")],this)); } else { for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"elements"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"area"),"addElement",[AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"elements"),(AspectScript.i13n.varRead("i",i)))],this); } var lines = (AspectScript.i13n.varWrite("lines", AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"area"),"removeFullLines",[],this), undefined)); if((AspectScript.i13n.varRead("lines",lines))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"setLines",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getLines",[],this) + (AspectScript.i13n.varRead("lines",lines))],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"setScore",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getScore",[],this) + (1000 * AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getLevel",[],this) * (AspectScript.i13n.varRead("lines",lines)))],this); } AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"reset",[],this); if(AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"mayPlace",[],this)){ AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"place",[],this); } else { AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"gameOver",[],this); } } } }})})); AspectScript.i13n.propWrite(this,"forceMoveDown",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(!AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"isRunning",[],this) && !AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"isStopped",[],this)){ if(AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"mayMoveDown",[],this)){ AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"setScore",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getScore",[],this) + 5 + AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getLevel",[],this)],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"setActions",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getActions",[],this) + 1],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"moveDown",[],this); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("self",self)),"forceMoveDownID",AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"setTimeout"),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"forceMoveDown"), 30],this)); } else { for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"elements"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"area"),"addElement",[AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"elements"),(AspectScript.i13n.varRead("i",i)))],this); } var lines = (AspectScript.i13n.varWrite("lines", AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"area"),"removeFullLines",[],this), undefined)); if((AspectScript.i13n.varRead("lines",lines))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"setLines",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getLines",[],this) + (AspectScript.i13n.varRead("lines",lines))],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"setScore",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getScore",[],this) + (1000 * AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"stats"),"getLevel",[],this) * (AspectScript.i13n.varRead("lines",lines)))],this); } AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"reset",[],this); if(AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"mayPlace",[],this)){ AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"place",[],this); } else { AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"tetris"),"gameOver",[],this); } } } }})})); AspectScript.i13n.propWrite(this,"stop",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"running",false); }})})); AspectScript.i13n.propWrite(this,"mayRotate",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ var newY = (AspectScript.i13n.varWrite("newY", AspectScript.i13n.call2(this,"getY",[],this) + AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length") - 1 - (AspectScript.i13n.varRead("x",x)), undefined)); var newX = (AspectScript.i13n.varWrite("newX", AspectScript.i13n.call2(this,"getX",[],this) + (AspectScript.i13n.varRead("y",y)), undefined)); if((AspectScript.i13n.varRead("newY",newY)) >= AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"y")){ return false; } if((AspectScript.i13n.varRead("newX",newX)) < 0){ return false; } if((AspectScript.i13n.varRead("newX",newX)) >= AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"x")){ return false; } if(AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"area"),"getBlock",[(AspectScript.i13n.varRead("newY",newY)), (AspectScript.i13n.varRead("newX",newX))],this)){ return false; } } } } return true; }})})); AspectScript.i13n.propWrite(this,"rotate",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;var puzzle = (AspectScript.i13n.varWrite("puzzle", AspectScript.i13n.call2(this,"createEmptyPuzzle",[AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length"), AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),0),"length")],this), undefined)); for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ var newY = (AspectScript.i13n.varWrite("newY", AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),"length") - 1 - (AspectScript.i13n.varRead("x",x)), undefined)); var newX = (AspectScript.i13n.varWrite("newX", (AspectScript.i13n.varRead("y",y)), undefined)); var el = (AspectScript.i13n.varWrite("el", AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x))), undefined)); var moveY = (AspectScript.i13n.varWrite("moveY", (AspectScript.i13n.varRead("newY",newY)) - (AspectScript.i13n.varRead("y",y)), undefined)); var moveX = (AspectScript.i13n.varWrite("moveX", (AspectScript.i13n.varRead("newX",newX)) - (AspectScript.i13n.varRead("x",x)), undefined)); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"style"),"left",AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"offsetLeft") + ((AspectScript.i13n.varRead("moveX",moveX)) * AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit")) + "px"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"style"),"top",AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"offsetTop") + ((AspectScript.i13n.varRead("moveY",moveY)) * AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit")) + "px"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead((AspectScript.i13n.varRead("puzzle",puzzle)),(AspectScript.i13n.varRead("newY",newY))),newX,(AspectScript.i13n.varRead("el",el))); } } } AspectScript.i13n.propWrite(this,"board",(AspectScript.i13n.varRead("puzzle",puzzle))); }})})); AspectScript.i13n.propWrite(this,"mayMoveDown",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ if(AspectScript.i13n.call2(this,"getY",[],this) + (AspectScript.i13n.varRead("y",y)) + 1 >= AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"y")){ AspectScript.i13n.propWrite(this,"stopped",true); return false; } if(AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"area"),"getBlock",[AspectScript.i13n.call2(this,"getY",[],this) + (AspectScript.i13n.varRead("y",y)) + 1, AspectScript.i13n.call2(this,"getX",[],this) + (AspectScript.i13n.varRead("x",x))],this)){ AspectScript.i13n.propWrite(this,"stopped",true); return false; } } } } return true; }})})); AspectScript.i13n.propWrite(this,"moveDown",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),(AspectScript.i13n.varRead("i",i))),"style"),"top",AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),(AspectScript.i13n.varRead("i",i))),"offsetTop") + AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit") + "px"); } AspectScript.i13n.propIncr(this,"y",1,true); }})})); AspectScript.i13n.propWrite(this,"mayMoveLeft",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ if(AspectScript.i13n.call2(this,"getX",[],this) + (AspectScript.i13n.varRead("x",x)) - 1 < 0){ return false; } if(AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"area"),"getBlock",[AspectScript.i13n.call2(this,"getY",[],this) + (AspectScript.i13n.varRead("y",y)), AspectScript.i13n.call2(this,"getX",[],this) + (AspectScript.i13n.varRead("x",x)) - 1],this)){ return false; } } } } return true; }})})); AspectScript.i13n.propWrite(this,"moveLeft",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),(AspectScript.i13n.varRead("i",i))),"style"),"left",AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),(AspectScript.i13n.varRead("i",i))),"offsetLeft") - AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit") + "px"); } AspectScript.i13n.propIncr(this,"x",-1,true); }})})); AspectScript.i13n.propWrite(this,"mayMoveRight",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var y = (AspectScript.i13n.varWrite("y", 0, undefined));(AspectScript.i13n.varRead("y",y)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),"length");((y = (AspectScript.i13n.varWrite("y",y+1))) + (-1))){ for(var x = (AspectScript.i13n.varWrite("x", 0, undefined));(AspectScript.i13n.varRead("x",x)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),"length");((x = (AspectScript.i13n.varWrite("x",x+1))) + (-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"board"),(AspectScript.i13n.varRead("y",y))),(AspectScript.i13n.varRead("x",x)))){ if(AspectScript.i13n.call2(this,"getX",[],this) + (AspectScript.i13n.varRead("x",x)) + 1 >= AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"x")){ return false; } if(AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"area"),"getBlock",[AspectScript.i13n.call2(this,"getY",[],this) + (AspectScript.i13n.varRead("y",y)), AspectScript.i13n.call2(this,"getX",[],this) + (AspectScript.i13n.varRead("x",x)) + 1],this)){ return false; } } } } return true; }})})); AspectScript.i13n.propWrite(this,"moveRight",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),"length");((i = (AspectScript.i13n.varWrite("i",i+1))) + (-1))){ AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),(AspectScript.i13n.varRead("i",i))),"style"),"left",AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"elements"),(AspectScript.i13n.varRead("i",i))),"offsetLeft") + AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"area"),"unit") + "px"); } AspectScript.i13n.propIncr(this,"x",1,true); }})})); }})}),undefined); var random = AspectScript.i13n.varWrite("random",AspectScript.i13n.wrap(function(){return (function random(i){ {var random = arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"Math"),"floor",[AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"Math"),"random",[],this) * (AspectScript.i13n.varRead("i",i))],this); }})}),undefined); var Highscores = AspectScript.i13n.varWrite("Highscores",AspectScript.i13n.wrap(function(){return (function Highscores(maxscores){ {var Highscores = arguments.callee = arguments.callee.wrapper;var Score = AspectScript.i13n.varWrite("Score",AspectScript.i13n.wrap(function(){return (function Score(name,score){ {var Score = arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"name",(AspectScript.i13n.varRead("name",name))); AspectScript.i13n.propWrite(this,"score",(AspectScript.i13n.varRead("score",score))); }})}),undefined); AspectScript.i13n.propWrite(this,"maxscores",(AspectScript.i13n.varRead("maxscores",maxscores))); AspectScript.i13n.propWrite(this,"scores",AspectScript.i13n.creation4([])); AspectScript.i13n.propWrite(this,"load",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;var cookie = (AspectScript.i13n.varWrite("cookie", AspectScript.i13n.creation(0,(AspectScript.i13n.varRead("Cookie",Cookie)),[]), undefined)); var s = (AspectScript.i13n.varWrite("s", AspectScript.i13n.call2((AspectScript.i13n.varRead("cookie",cookie)),"get",["tetris-highscores"],this), undefined)); AspectScript.i13n.propWrite(this,"scores",AspectScript.i13n.creation4([])); if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("s",s)),"length")){ var scores = (AspectScript.i13n.varWrite("scores", AspectScript.i13n.call2((AspectScript.i13n.varRead("s",s)),"split",["|"],this), undefined)); for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead((AspectScript.i13n.varRead("scores",scores)),"length");(i = AspectScript.i13n.varWrite("i",i+1))){ var a = (AspectScript.i13n.varWrite("a", AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("scores",scores)),(AspectScript.i13n.varRead("i",i))),"split",[":"],this), undefined)); AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"scores"),"push",[AspectScript.i13n.creation(2,(AspectScript.i13n.varRead("Score",Score)),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("a",a)),0), AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"Number"),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("a",a)),1)],this)])],this); } } }})})); AspectScript.i13n.propWrite(this,"save",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;var cookie = (AspectScript.i13n.varWrite("cookie", AspectScript.i13n.creation(0,(AspectScript.i13n.varRead("Cookie",Cookie)),[]), undefined)); var a = (AspectScript.i13n.varWrite("a", AspectScript.i13n.creation4([]), undefined)); for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),"length");(i = AspectScript.i13n.varWrite("i",i+1))){ AspectScript.i13n.call2((AspectScript.i13n.varRead("a",a)),"push",[AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),(AspectScript.i13n.varRead("i",i))),"name") + ":" + AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),(AspectScript.i13n.varRead("i",i))),"score")],this); } var s = (AspectScript.i13n.varWrite("s", AspectScript.i13n.call2((AspectScript.i13n.varRead("a",a)),"join",["|"],this), undefined)); AspectScript.i13n.call2((AspectScript.i13n.varRead("cookie",cookie)),"set",["tetris-highscores", (AspectScript.i13n.varRead("s",s)), 3600 * 24 * 1000],this); }})})); AspectScript.i13n.propWrite(this,"mayAdd",AspectScript.i13n.wrap(function(){return (function (score){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),"length") < AspectScript.i13n.propRead(this,"maxscores")){ return true; } for(var i = (AspectScript.i13n.varWrite("i", AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),"length") - 1, undefined));(AspectScript.i13n.varRead("i",i)) >= 0;(i = AspectScript.i13n.varWrite("i",i-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),(AspectScript.i13n.varRead("i",i))),"score") < (AspectScript.i13n.varRead("score",score))){ return true; } } return false; }})})); AspectScript.i13n.propWrite(this,"add",AspectScript.i13n.wrap(function(){return (function (name,score){ {arguments.callee = arguments.callee.wrapper;name = AspectScript.i13n.varWrite("name", AspectScript.i13n.call2((AspectScript.i13n.varRead("name",name)),"replace",[/[;=:|]/g, "?"],this), name); name = AspectScript.i13n.varWrite("name", AspectScript.i13n.call2(AspectScript.i13n.call2((AspectScript.i13n.varRead("name",name)),"replace",[//g, ">"],this), name); if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),"length") < AspectScript.i13n.propRead(this,"maxscores")){ AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"scores"),"push",[AspectScript.i13n.creation(2,(AspectScript.i13n.varRead("Score",Score)),[(AspectScript.i13n.varRead("name",name)), (AspectScript.i13n.varRead("score",score))])],this); } else { for(var i = (AspectScript.i13n.varWrite("i", AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),"length") - 1, undefined));(AspectScript.i13n.varRead("i",i)) >= 0;(i = AspectScript.i13n.varWrite("i",i-1))){ if(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),(AspectScript.i13n.varRead("i",i))),"score") < (AspectScript.i13n.varRead("score",score))){ AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"scores"),"removeByIndex",[(AspectScript.i13n.varRead("i",i))],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"scores"),"push",[AspectScript.i13n.creation(2,(AspectScript.i13n.varRead("Score",Score)),[(AspectScript.i13n.varRead("name",name)), (AspectScript.i13n.varRead("score",score))])],this); break } } } AspectScript.i13n.call2(this,"sort",[],this); AspectScript.i13n.call2(this,"save",[],this); }})})); AspectScript.i13n.propWrite(this,"getScores",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.propRead(this,"scores"); }})})); AspectScript.i13n.propWrite(this,"toHtml",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;var s = (AspectScript.i13n.varWrite("s", '', undefined)); for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),"length");(i = AspectScript.i13n.varWrite("i",i+1))){ s = AspectScript.i13n.varWrite("s", s + AspectScript.i13n.call2('',"format",[(AspectScript.i13n.varRead("i",i)) + 1, AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),(AspectScript.i13n.varRead("i",i))),"name"), AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(this,"scores"),(AspectScript.i13n.varRead("i",i))),"score")],this), s); } s = AspectScript.i13n.varWrite("s", s + '
NameScore
?.??
', s); return (AspectScript.i13n.varRead("s",s)); }})})); AspectScript.i13n.propWrite(this,"sort",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;var scores = (AspectScript.i13n.varWrite("scores", AspectScript.i13n.propRead(this,"scores"), undefined)); var len = (AspectScript.i13n.varWrite("len", AspectScript.i13n.propRead((AspectScript.i13n.varRead("scores",scores)),"length"), undefined)); AspectScript.i13n.propWrite(this,"scores",AspectScript.i13n.creation4([])); for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < (AspectScript.i13n.varRead("len",len));(i = AspectScript.i13n.varWrite("i",i+1))){ var el = (AspectScript.i13n.varWrite("el", null, undefined)),index = (AspectScript.i13n.varWrite("index", null, undefined)); for(var j = (AspectScript.i13n.varWrite("j", 0, undefined));(AspectScript.i13n.varRead("j",j)) < AspectScript.i13n.propRead((AspectScript.i13n.varRead("scores",scores)),"length");(j = AspectScript.i13n.varWrite("j",j+1))){ if(!(AspectScript.i13n.varRead("el",el)) || (AspectScript.i13n.propRead(AspectScript.i13n.propRead((AspectScript.i13n.varRead("scores",scores)),(AspectScript.i13n.varRead("j",j))),"score") > AspectScript.i13n.propRead((AspectScript.i13n.varRead("el",el)),"score"))){ el = AspectScript.i13n.varWrite("el", AspectScript.i13n.propRead((AspectScript.i13n.varRead("scores",scores)),(AspectScript.i13n.varRead("j",j))), el); index = AspectScript.i13n.varWrite("index", (AspectScript.i13n.varRead("j",j)), index); } } AspectScript.i13n.call2((AspectScript.i13n.varRead("scores",scores)),"removeByIndex",[(AspectScript.i13n.varRead("index",index))],this); AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"scores"),"push",[(AspectScript.i13n.varRead("el",el))],this); } }})})); AspectScript.i13n.call2(this,"load",[],this); }})}),undefined); var Cookie = AspectScript.i13n.varWrite("Cookie",AspectScript.i13n.wrap(function(){return (function Cookie(){ {var Cookie = arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(this,"get",AspectScript.i13n.wrap(function(){return (function (name){ {arguments.callee = arguments.callee.wrapper;var cookies = (AspectScript.i13n.varWrite("cookies", AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"cookie"),"split",[";"],this), undefined)); for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead((AspectScript.i13n.varRead("cookies",cookies)),"length");(i = AspectScript.i13n.varWrite("i",i+1))){ var a = (AspectScript.i13n.varWrite("a", AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("cookies",cookies)),(AspectScript.i13n.varRead("i",i))),"split",["="],this), undefined)); if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("a",a)),"length") == 2){ AspectScript.i13n.propWrite((AspectScript.i13n.varRead("a",a)),0,AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("a",a)),0),"trim",[],this)); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("a",a)),1,AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("a",a)),1),"trim",[],this)); if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("a",a)),0) == (AspectScript.i13n.varRead("name",name))){ return AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"unescape"),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("a",a)),1)],this); } } } return ""; }})})); AspectScript.i13n.propWrite(this,"set",AspectScript.i13n.wrap(function(){return (function (name,value,seconds,path,domain,secure){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2(this,"del",[(AspectScript.i13n.varRead("name",name))],this); if(!(AspectScript.i13n.varRead("path",path)))path = AspectScript.i13n.varWrite("path", '/', path); var cookie = (AspectScript.i13n.varWrite("cookie", ((AspectScript.i13n.varRead("name",name)) + "=" + AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"escape"),[(AspectScript.i13n.varRead("value",value))],this)), undefined)); if((AspectScript.i13n.varRead("seconds",seconds))){ var date = (AspectScript.i13n.varWrite("date", AspectScript.i13n.creation(1,AspectScript.i13n.propRead(AspectScript.globalObject,"Date"),[AspectScript.i13n.call2(AspectScript.i13n.creation(0,AspectScript.i13n.propRead(AspectScript.globalObject,"Date"),[]),"getTime",[],this) + (AspectScript.i13n.varRead("seconds",seconds)) * 1000]), undefined)); cookie = AspectScript.i13n.varWrite("cookie", cookie + ("; expires=" + AspectScript.i13n.call2((AspectScript.i13n.varRead("date",date)),"toGMTString",[],this)), cookie); } cookie = AspectScript.i13n.varWrite("cookie", cookie + ((((AspectScript.i13n.varRead("path",path)))?("; path=" + (AspectScript.i13n.varRead("path",path))):(""))), cookie); cookie = AspectScript.i13n.varWrite("cookie", cookie + ((((AspectScript.i13n.varRead("domain",domain)))?("; domain=" + (AspectScript.i13n.varRead("domain",domain))):(""))), cookie); cookie = AspectScript.i13n.varWrite("cookie", cookie + ((((AspectScript.i13n.varRead("secure",secure)))?("; secure"):(""))), cookie); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"cookie",(AspectScript.i13n.varRead("cookie",cookie))); }})})); AspectScript.i13n.propWrite(this,"del",AspectScript.i13n.wrap(function(){return (function (name){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"cookie",(AspectScript.i13n.varRead("name",name)) + "=; expires=Thu, 01-Jan-70 00:00:01 GMT"); }})})); }})}),undefined); var self = (AspectScript.i13n.varWrite("self", this, undefined)); AspectScript.i13n.propWrite(this,"stats",AspectScript.i13n.creation(0,(AspectScript.i13n.varRead("Stats",Stats)),[])); AspectScript.i13n.propWrite(this,"puzzle",null); AspectScript.i13n.propWrite(this,"area",null); AspectScript.i13n.propWrite(this,"unit",20); AspectScript.i13n.propWrite(this,"areaX",20); AspectScript.i13n.propWrite(this,"areaY",20); AspectScript.i13n.propWrite(this,"highscores",AspectScript.i13n.creation(1,(AspectScript.i13n.varRead("Highscores",Highscores)),[10])); AspectScript.i13n.propWrite(this,"start",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"reset",[],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"start",[],this); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-nextpuzzle"],this),"style"),"display","block"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-keys"],this),"style"),"display","none"); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("self",self)),"area",AspectScript.i13n.creation(4,(AspectScript.i13n.varRead("Area",Area)),[AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"unit"), AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"areaX"), AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"areaY"), "tetris-area"])); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("self",self)),"puzzle",AspectScript.i13n.creation(2,(AspectScript.i13n.varRead("Puzzle",Puzzle)),[(AspectScript.i13n.varRead("self",self)), AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"area")])); if(AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"mayPlace",[],this)){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"place",[],this); } else { AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"gameOver",[],this); } }})})); AspectScript.i13n.propWrite(this,"reset",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle")){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"destroy",[],this); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("self",self)),"puzzle",null); } if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"area")){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"area"),"destroy",[],this); AspectScript.i13n.propWrite((AspectScript.i13n.varRead("self",self)),"area",null); } AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-gameover"],this),"style"),"display","none"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-nextpuzzle"],this),"style"),"display","none"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-keys"],this),"style"),"display","block"); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"reset",[],this); }})})); AspectScript.i13n.propWrite(this,"gameOver",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"stop",[],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"stop",[],this); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-nextpuzzle"],this),"style"),"display","none"); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-gameover"],this),"style"),"display","block"); if(AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"highscores"),"mayAdd",[AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"stats"),"getScore",[],this)],this)){ var name = (AspectScript.i13n.varWrite("name", AspectScript.i13n.call(AspectScript.globalObject,AspectScript.i13n.propRead(AspectScript.globalObject,"prompt"),["Game Over !\nEnter your name:", ""],this), undefined)); if((AspectScript.i13n.varRead("name",name)) && AspectScript.i13n.propRead(AspectScript.i13n.call2((AspectScript.i13n.varRead("name",name)),"trim",[],this),"length")){ AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"highscores"),"add",[(AspectScript.i13n.varRead("name",name)), AspectScript.i13n.call2(AspectScript.i13n.propRead(this,"stats"),"getScore",[],this)],this); } } }})})); AspectScript.i13n.propWrite(this,"up",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle") && AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isRunning",[],this) && !AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isStopped",[],this)){ if(AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"mayRotate",[],this)){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"rotate",[],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"setActions",[AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"getActions",[],this) + 1],this); } } }})})); AspectScript.i13n.propWrite(this,"down",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle") && AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isRunning",[],this) && !AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isStopped",[],this)){ if(AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"mayMoveDown",[],this)){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"setScore",[AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"getScore",[],this) + 5 + AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"getLevel",[],this)],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"moveDown",[],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"setActions",[AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"getActions",[],this) + 1],this); } } }})})); AspectScript.i13n.propWrite(this,"left",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle") && AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isRunning",[],this) && !AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isStopped",[],this)){ if(AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"mayMoveLeft",[],this)){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"moveLeft",[],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"setActions",[AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"getActions",[],this) + 1],this); } } }})})); AspectScript.i13n.propWrite(this,"right",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle") && AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isRunning",[],this) && !AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isStopped",[],this)){ if(AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"mayMoveRight",[],this)){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"moveRight",[],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"setActions",[AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"stats"),"getActions",[],this) + 1],this); } } }})})); AspectScript.i13n.propWrite(this,"space",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle") && AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isRunning",[],this) && !AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"isStopped",[],this)){ AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"stop",[],this); AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"puzzle"),"forceMoveDown",[],this); } }})})); var helpwindow = (AspectScript.i13n.varWrite("helpwindow", AspectScript.i13n.creation(1,(AspectScript.i13n.varRead("Window",Window)),["tetris-help"]), undefined)); var highscores = (AspectScript.i13n.varWrite("highscores", AspectScript.i13n.creation(1,(AspectScript.i13n.varRead("Window",Window)),["tetris-highscores"]), undefined)); AspectScript.i13n.propWrite(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-menu-start"],this),"onclick",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2((AspectScript.i13n.varRead("helpwindow",helpwindow)),"close",[],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("highscores",highscores)),"close",[],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"start",[],this); AspectScript.i13n.call2(this,"blur",[],this); }})})); AspectScript.i13n.propWrite(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-menu-reset"],this),"onclick",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2((AspectScript.i13n.varRead("helpwindow",helpwindow)),"close",[],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("highscores",highscores)),"close",[],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("self",self)),"reset",[],this); AspectScript.i13n.call2(this,"blur",[],this); }})})); AspectScript.i13n.propWrite(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-menu-help"],this),"onclick",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2((AspectScript.i13n.varRead("highscores",highscores)),"close",[],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("helpwindow",helpwindow)),"activate",[],this); AspectScript.i13n.call2(this,"blur",[],this); }})})); AspectScript.i13n.propWrite(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-help-close"],this),"onclick",AspectScript.i13n.propRead((AspectScript.i13n.varRead("helpwindow",helpwindow)),"close")); AspectScript.i13n.propWrite(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-menu-highscores"],this),"onclick",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2((AspectScript.i13n.varRead("helpwindow",helpwindow)),"close",[],this); AspectScript.i13n.propWrite(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-highscores-content"],this),"innerHTML",AspectScript.i13n.call2(AspectScript.i13n.propRead((AspectScript.i13n.varRead("self",self)),"highscores"),"toHtml",[],this)); AspectScript.i13n.call2((AspectScript.i13n.varRead("highscores",highscores)),"activate",[],this); AspectScript.i13n.call2(this,"blur",[],this); }})})); AspectScript.i13n.propWrite(AspectScript.i13n.call2(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"getElementById",["tetris-highscores-close"],this),"onclick",AspectScript.i13n.propRead((AspectScript.i13n.varRead("highscores",highscores)),"close")); var keyboard = (AspectScript.i13n.varWrite("keyboard", AspectScript.i13n.creation(0,(AspectScript.i13n.varRead("Keyboard",Keyboard)),[]), undefined)); AspectScript.i13n.call2((AspectScript.i13n.varRead("keyboard",keyboard)),"set",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"n"), AspectScript.i13n.propRead(this,"start")],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("keyboard",keyboard)),"set",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"r"), AspectScript.i13n.propRead(this,"reset")],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("keyboard",keyboard)),"set",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"up"), AspectScript.i13n.propRead(this,"up")],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("keyboard",keyboard)),"set",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"down"), AspectScript.i13n.propRead(this,"down")],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("keyboard",keyboard)),"set",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"left"), AspectScript.i13n.propRead(this,"left")],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("keyboard",keyboard)),"set",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"right"), AspectScript.i13n.propRead(this,"right")],this); AspectScript.i13n.call2((AspectScript.i13n.varRead("keyboard",keyboard)),"set",[AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"space"), AspectScript.i13n.propRead(this,"space")],this); AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.globalObject,"document"),"onkeydown",AspectScript.i13n.propRead((AspectScript.i13n.varRead("keyboard",keyboard)),"event")); }})}),undefined); if(!AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"String"),"prototype"),"trim")){ AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"String"),"prototype"),"trim",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;return AspectScript.i13n.call2(this,"replace",[/^\s*|\s*$/g, ""],this); }})})); } if(!AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"Array"),"prototype"),"removeByIndex")){ AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"Array"),"prototype"),"removeByIndex",AspectScript.i13n.wrap(function(){return (function (index){ {arguments.callee = arguments.callee.wrapper;AspectScript.i13n.call2(this,"splice",[(AspectScript.i13n.varRead("index",index)), 1],this); }})})); } if(!AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"String"),"prototype"),"format")){ AspectScript.i13n.propWrite(AspectScript.i13n.propRead(AspectScript.i13n.propRead(AspectScript.globalObject,"String"),"prototype"),"format",AspectScript.i13n.wrap(function(){return (function (){ {arguments.callee = arguments.callee.wrapper;if(!AspectScript.i13n.propRead((AspectScript.i13n.varRead("arguments",arguments)),"length")){ throw "String.format() failed, no arguments passed, this = " + this } var tokens = (AspectScript.i13n.varWrite("tokens", AspectScript.i13n.call2(this,"split",["?"],this), undefined)); if(AspectScript.i13n.propRead((AspectScript.i13n.varRead("arguments",arguments)),"length") != (AspectScript.i13n.propRead((AspectScript.i13n.varRead("tokens",tokens)),"length") - 1)){ throw "String.format() failed, tokens != arguments, this = " + this } var s = (AspectScript.i13n.varWrite("s", AspectScript.i13n.propRead((AspectScript.i13n.varRead("tokens",tokens)),0), undefined)); for(var i = (AspectScript.i13n.varWrite("i", 0, undefined));(AspectScript.i13n.varRead("i",i)) < AspectScript.i13n.propRead((AspectScript.i13n.varRead("arguments",arguments)),"length");(i = AspectScript.i13n.varWrite("i",i+1))){ s = AspectScript.i13n.varWrite("s", s + (AspectScript.i13n.propRead((AspectScript.i13n.varRead("arguments",arguments)),(AspectScript.i13n.varRead("i",i))) + AspectScript.i13n.propRead((AspectScript.i13n.varRead("tokens",tokens)),(AspectScript.i13n.varRead("i",i)) + 1)), s); } return (AspectScript.i13n.varRead("s",s)); }})})); }