KyleCypher

Super Mario YWOT

Oct 22nd, 2019
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var mute = false;
  2. var jumping = false;
  3. var big = false;
  4. var points = 0;
  5. var coins = 0;
  6. var jumpInterval = 0;
  7. var jumpHeight = 5;
  8. var gameTick = 1000 / 10;
  9. var enemyTick_i = 0;
  10. var playertickspeed = gameTick;
  11. var runSpeed = 0;
  12. var dying = false;
  13. var falling = false;
  14. var lifes = 3;
  15. var health = 2;
  16. var maxSpeed = 10;
  17. var backgroundList = [" ", "▫", "╭", "◠", "╮", "x", "⛹", "⣿", "⠀", " ", "", "ᴥ","-"];
  18. var isCollectableList = ["▫", "▣","ↂ"];
  19. var isCollectFromBottomOnlyList = ["▢", "⚁"];
  20. var isPainfulList = ["x", "⣿"];
  21. var isEnemyList = ["ᴥ"];
  22. var isPlayerList = ["⛹"];
  23. var isTubeList = ["╒", "╗", "╘", "╝", "⟦","⟧"];
  24. var savedPosition = [];
  25. var lerpSmoothness = 0.8;
  26. var enemiesList = [];
  27. var powerUpList = [];
  28. var playerList = [];
  29. var mousedown = false;
  30. var gameover = false;
  31. var fly = false
  32. var paused = false
  33. var cellWidth = $($("td")[20]).width()+2;
  34. var cellHeight = $($("td")[20]).height()+3;
  35. var mariosPositionTarget = $("td:contains('⛹')")[0]
  36. var coinsound = new Audio("data:audio/wav;base64,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1/+v/4T/ZP9E/zP/IP8d/xz/KP87/1L/dP+W/8H/6v8WAEIAaACPAK0AxgDaAOQA5QDhANAAvQCeAH4AVQAtAP7/1f+o/4P/Xf9B/yr/Gv8U/xX/Hf8x/0f/aP+Q/7T/5v8MAEAAZQCRALAAzwDjAPEA9QDzAOYA0wC4AJQAcQBBABgA6f+5/5L/Z/9I/yn/Gf8H/wn/Cv8Y/y3/Sv9s/5T/v//s/xoASQBxAJgAuwDSAOkA8gD1APEA4QDNAK8AjgBlAD0ADwDh/7n/jP9s/0n/NP8f/xn/Ff8d/yz/Q/9d/4L/pv/R//v/JgBOAHYAlAC0AMYA2ADcANwA0gDBAKwAiwBuAEEAIQDw/87/pP+C/2P/Tv82/zP/Kf8y/zz/Uf9p/4j/rf/R//r/IgBJAGwAjwCmAL8AyQDWAM4AzAC4AKMAiABmAEAAGwDv/8r/o/+A/2L/Sf82/yv/J/8s/zX/Tf9f/4X/o//N//P/IQBEAG8AjgCrAMgA0QDiAN0A2wDNALYAnAB8AFQAMAADANn/sv+K/2r/TP80/yb/Hf8d/yX/Mf9M/2L/i/+p/9j//v8pAFEAdwCZALQAygDYAOEA3gDZAMYAswCTAHUATAApAPv/1v+u/4j/bv9N/z7/L/8o/y3/M/9H/1j/e/+W/7//4/8KADEAWAB1AJYAqgC+AMgAyQDIALsAqwCSAHYAVQAyAA0A5v/D/6D/g/9o/1X/Rf9A/z//Rv9U/2b/gf+d/8L/4f8JACoATwBvAIkAoQCxAL0AvgC/ALAApACKAHEAUAAvAAkA5v/A/6H/gP9p/1P/RP8+/zv/Rf9N/2X/ev+a/7z/3f8GACgATgBvAIwApAC6AMIAzgDGAMMArwCfAIAAZAA+ABsA9P/O/6z/hv9v/1P/Qv83/zD/Nv89/07/Zf9//6H/w//p/w4ANgBYAHcAmQCnAMIAxQDOAMgAvQCvAJUAfQBaADkAEwDv/8r/pv+L/2v/W/9H/z//Pf9B/0z/Xv90/5D/rv/S//H/HAA3AFwAdwCPAKMAsQC1ALoArwCoAJEAfQBgAEEAIQD//9v/wP+b/4f/b/9f/1X/T/9V/1n/bP98/5X/tP/P//P/EQA1AE8AbgCFAJQAqACnAK8ApgCcAIwAcwBdADsAIAD7/97/uv+i/4P/cf9g/1T/Uv9Q/1z/Zv99/5L/sP/O//D/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y//Z/9v/6f/w//7/BwATAB4AJgAvADcANwBAADwAPAA6ADEALgAhABwACwAFAPb/7f/i/9j/0P/J/8X/wv/D/8L/yP/L/9X/3P/o//D//v8IABMAHgAmADEAMwA7ADsAPQA6ADgAMAAsAB8AGQAMAAQA9v/t/+L/2//S/87/yf/I/8f/yf/O/9T/2f/m/+n/+v8AAAsAFwAcACgALAAyADMANwAyADUAKgAqAB0AFwAPAAAA/v/r/+n/3f/Y/9L/zv/L/87/zf/S/9j/3P/p/+3/+v8EAAwAGAAdACkALQAxADYANAA1ADIALAAoAB4AFQAOAP//+//q/+X/3P/S/9H/xv/K/8f/yP/Q/8//3P/h/+r/+v/9/w4AFQAfACsALQA3ADkAOwA8ADgANgAuACkAHAAYAAYAAwDv/+3/3P/a/8z/zP/D/8b/w//H/8v/0P/a/+D/6//4////DwAUACEAKQAvADYAOAA7ADkAOQAxADAAIwAeABQABgACAPD/7f/e/9r/0v/N/8v/yP/L/8z/0f/Y/93/6f/w//v/BgANABkAHwApACsAMwAxADUAMQAvACoAIgAdABEACgABAPP/8P/i/97/1v/S/8//zf/R/83/2f/Y/+T/6v/x/wAABAATABcAIQAoAC0AMwAxADYALwAxACgAIgAdAA4ADQD6//X/7P/g/9v/0//M/87/x//M/8n/1P/T/+H/5P/x//r/AwARABgAIQAsAC0AOAA3ADkAOgA0ADIALAAgAB4ADAAJAPn/8P/o/9z/1f/Q/8j/yf/F/8b/y//O/9b/3P/m/+///P8EABAAGQAiACkAMgAzADkAOAA2ADYALgAqACEAGQAOAAUA+v/x/+j/3f/a/8//0f/J/8z/zf/O/9n/1v/n/+j/9////wYAEwAZACMAJwAtADAAMgAxAC8ALAAlACEAFgAOAAgA+v/2/+b/5//Y/9n/0v/O/9L/z//W/9b/4f/k//D/9v8BAAkAEwAcACEAKwArADIAMAAzAC4ALAAkACEAFAAQAAMA+//x/+n/3//Z/9P/z//L/83/y//Q/9T/2//h/+z/8//+/wkAEQAcACMAKgAxADQAOAA1ADgALwAwACYAHQAYAAkABAD2/+3/5P/c/9T/zv/M/8f/yv/H/9H/z//c/+D/6v/1//7/CAAUABoAJQApADIAMgA5ADMANwAvACwAJgAbABYACgACAPb/7f/n/9v/2f/R/8//zf/O/87/1P/Z/97/6f/t//v/AAAMABQAHAAjACgALQAuADEALwArACoAIAAeABIACwAEAPb/9P/m/+H/3f/U/9T/0v/Q/9b/1P/f/+D/6//y//n/BgALABUAHgAhACsALAAuADIALQAsACkAIAAdABEACwAAAPf/8P/k/+H/1v/U/87/z//M/9H/0//W/+D/5f/v//n/AAANABQAHAAnACkAMwAwADgAMQA3ACsALAAgABwADwALAPv/9v/q/+H/2//T/9D/zP/J/8z/y//U/9P/4f/i//H/+P8AAA8AEQAhACMAKwAyAC8AOAAxADMALAAoACEAGQAQAAcA/f/0/+z/4v/d/9f/0f/R/87/0f/S/9f/2v/m/+j/9v/7/wUADgAWAB4AIwAqACkAMQAsAC0AKgAjACEAFQATAAUAAAD3/+z/6f/e/9z/1v/U/9T/0//X/9r/3//n/+z/9//8/wkADQAYAB0AJgAmAC8AKwAvAC0AJwAmAB0AGAAOAAgA+//4/+n/5//b/9r/0f/T/83/0//P/9j/3P/h/+z/8P/+/wMAEAAWAB4AKAApADEAMQA0ADEAMAArACUAHwAVAA4AAwD8//D/6f/f/9r/1P/O/9D/yf/Q/9D/0//d/9//6//z//z/BQAPABYAIQAlACsAMAAwADQALwAwACgAJAAeABMADwAAAPz/8f/p/+P/2v/W/9X/0P/S/9H/1//Y/+L/5v/u//j///8IABEAGAAcACgAJgAsACwAKwAqACcAHwAeABIADgAEAPr/9v/r/+b/3//b/9b/1//T/9n/1v/h/9//7P/w//j/AwAHABIAGgAcACcAJgAtACsALQAnACgAHgAeABEADQACAPv/8f/s/+H/3//W/9X/0f/S/9P/1f/a/9//5v/u//f//f8LAA8AGQAhACQALgAtADIALwAxACoAKgAfABwAEQAKAAAA+P/t/+j/3f/b/9L/0v/N/9H/zv/W/9b/4P/m/+z/+f/9/woAEQAZACEAJgArAC4AMQAuADAAKQAnACAAGAARAAkAAAD3/+//5//g/93/1P/X/9D/1v/T/9r/3f/k/+r/8//5/wQACgASABoAIAAjACkAKAAsACgAKAAjAB0AGQAQAAgABAD2//T/6f/l/9//2//W/9v/0v/f/9f/5P/k/+//8v///wEADgARABwAHgAlACgAKQArACgAKAAhAB4AFwAPAAoA/v/6/+z/7f/e/+D/1v/U/9f/0P/Z/9b/3v/j/+v/8P/7/wIACgAUABkAIwAlACsALgAuAC8AKwApACQAHgAVABAAAwAAAPP/7f/k/9//1//X/8//1P/O/9b/1f/e/+L/6f/z//j/BAAMABIAHQAfACcALAArADAAKwAtACYAJAAaABcADAAFAP//8P/y/+L/4f/c/9X/2P/T/9f/1//c/+L/5v/v//b//P8HAAsAFgAZACEAIwAnACkAKAAnACQAHwAcABMADwAEAAAA9v/w/+n/4//g/9r/2//X/9r/3f/c/+j/5v/z//X/AQAEABEAEQAeAB4AJQAnACcAKAAnACQAHwAaABMADQAEAP//8//x/+T/5P/a/9r/1v/V/9f/1//e/97/6f/s//b//f8FAAwAGAAYACUAJAAqAC0AKwAuACcAJwAdAB4ADgAOAAIA+P/2/+f/5P/f/9f/1//T/9H/1//U/93/3f/o/+3/9v/9/wUADgAVAB0AIQAnACgALQArACsAJwAlAB4AGQARAAkAAwD5//T/6f/n/93/3v/W/9n/1f/Z/93/3P/n/+n/8v/5/wAACAAQABQAHAAhACEAKQAlACYAJgAfAB4AFwARAAoABAD7//X/7f/q/+H/4v/Y/97/2P/e/93/4//m/+7/8v/8/wAACgAPABUAHgAeACQAJQAmACcAJAAgABsAGAAPAAoAAgD7//L/7v/k/+P/2//b/9f/1//b/9n/4f/i/+z/8P/5/wEABQASABQAHgAiACQALAAlADAAJAApACAAHQAWAA8ABwAAAPj/7//q/+H/4P/W/9r/0v/Y/9X/2v/f/+P/6f/z//f/AQAJAA4AGQAbACMAJAArACgAKwAmACYAIAAbABYADAAJAP3/+P/x/+j/5//c/+D/1f/d/9X/3//b/+b/5P/x//L//v8CAAsAEAAWAB0AHwAjACYAIgAnAB8AIAAXABcACwALAPz//f/x/+3/6f/g/+L/3P/d/93/3f/i/+X/6v/x//X///8BAA4ADgAaABkAIgAgACcAIgAlACAAHgAYABUACwAJAPz/+//w/+z/5f/g/9//2v/a/9n/3P/f/+L/5//u//T//f8AAAwAEQAWAB4AIQAlACoAJAArACMAJQAeABgAEgANAAIAAADy//H/5f/k/93/2v/Y/9j/1v/c/9v/5P/l/+//9P/7/wUACAAUABcAHQAjACIAKwAlACkAIwAiAB4AFwASAAoABAD7//j/6//t/+D/4v/c/9r/3P/a/9//4f/m/+r/8//1/wIAAgAPABAAGAAdAB0AJQAgACUAIAAfABwAFQASAAsAAwAAAPb/8v/t/+T/5v/e/+H/3P/h/97/5//m/+//8v/5/wAABQAOABEAGQAaACAAIgAhACQAIAAeABsAFgAPAAsABAD8//f/7//r/+X/4f/e/9z/3P/c/9//4P/o/+j/8//3//3/BwALABIAGgAaACUAIQAoACQAJgAkAB4AHAATABIABgAEAPj/9f/r/+n/4P/f/9z/2P/c/9j/3v/h/+P/7v/t//z/+/8IAAoAFQAYAB4AIQAkACUAJQAmACAAIQAWABgACwAKAAAA+P/4/+j/7v/e/+T/2//g/9n/4v/d/+f/6P/u//b/+P8EAAUADwASABkAGwAgAB8AIwAfAB8AHQAXABUADgAGAAUA+f/4//D/6v/o/+P/4P/j/93/4//i/+j/6//w//b/+/8DAAcADgAUABYAHgAcACIAHwAhAB0AHgAUABcACQAKAAAA+//1/+//6P/n/+D/4f/c/9//3//g/+b/5//w//L//P8AAAYAEAARABsAGwAjAB8AKAAgACUAIAAaABkAEQAMAAcA/f/4//P/6v/p/97/4//Z/97/2//c/+P/4f/q/+3/9P/8/wAACQANABQAGgAdACAAJAAiACQAIQAfABwAFgAQAA0AAwAAAPb/9P/q/+v/4P/k/93/4P/e/+L/4v/p/+r/9P/0/wAAAAAMAA0AFAAaABgAIQAcACIAHgAbABoAFQARAAwABAABAPr/9P/w/+n/6P/k/+P/4f/j/+H/6P/q/+3/9P/3//7/BQAJAA8AFAAWAB4AGwAgAB4AHgAcABgAFQAPAAwAAwAAAPn/8v/v/+j/5//h/+L/3f/k/93/6P/k/+//7//5//r/BAAKAA4AFQAYABwAIQAgACMAIAAfAB4AGQATABAABwAFAPv/+P/u/+z/5//h/+L/3f/d/+H/3f/m/+X/7f/w//j//f8DAAwADAAYABYAIAAeACEAIgAgAB8AHQAVABcACwAKAAEA/f/2//H/6//o/+b/3v/m/9v/5f/j/+X/7P/u//T/+v///wUADAAOABUAFwAcABsAIQAZAB8AGAAXABMADgAIAAQA/f/5//P/7//r/+f/5f/j/+X/4v/q/+T/8P/u//f/+v8AAAYACgASABEAGgAZABwAHgAbABwAGgAUABMADAAIAAMA/f/4//D/8P/m/+r/4P/l/+D/4//l/+X/7P/v//L//f/8/wcACQARABQAGQAcAB4AHwAhABwAIAAXABcAEQALAAcAAQD5//b/7v/r/+j/4f/k/93/4v/h/+L/6P/p/+//9f/5/wAABgAKABIAFAAaABsAHwAfACAAHQAdABgAFgAPAAwABQABAPn/9v/v/+z/6P/k/+T/4//i/+T/5//o/+7/8f/3//3/AQAGAA0ADwAWABUAHgAWACIAFAAgABIAGAANAAwACAD+/wAA9P/0/+7/6//n/+j/5P/n/+b/5//t/+7/9P/4//v/BQADABAADAAXABYAGgAZAB0AGAAcABQAFAAOAA0AAgAEAPn/9v/z/+v/6//m/+X/5P/k/+T/6P/o/+//8v/1//7///8IAAsAEgATABoAGgAcACAAGgAfABgAGAASAA0ACwACAAEA9v/1/+7/6v/p/+L/5v/e/+b/4f/p/+b/8P/w//n/+v8EAAUADwAPABYAGQAbABwAHgAcABwAGQAWABIADQAJAAIA///5//P/8f/p/+r/5f/m/+T/5P/n/+j/7v/v//T/+f/+/wQACQAKABUADgAdABUAGwAbABcAGAAVABAADwAIAAQA///8//X/8//t/+v/6f/p/+X/6//k/+//6//0//T/+//9/wYABgAOAA8AFQAVABkAGQAYABkAFwASABIACwAJAAQA/f/8//L/9P/r/+v/6P/m/+b/5v/o/+n/7f/w//X/+P///wIACQAMABEAFQAWABwAGQAdABoAGQAYABIAEgAJAAgAAgD6//v/7//x/+n/6f/l/+X/4//n/+T/6//r//H/9P/6//7/BAAJAAwAEwATABoAFwAfABcAHgAWABgAEgAQAAkACQD+////9f/0//D/6v/s/+T/6f/l/+j/6f/r/+//8//2//3//v8GAAkADAATABIAFgAZABYAGgAVABUAEgAPAAwABQAEAPv//f/y//T/7f/s/+v/6P/p/+v/6v/u//D/9P/4//z/AAAGAAgADQARABIAFwAVABgAFwAWABIAFAAMAAsABgAAAAAA9f/5/+3/8f/o/+v/5//p/+f/7P/p//P/8P/5//n/AQAEAAkADgAQABUAFgAYABoAGAAaABQAFwAPAA4ACQACAAMA+P/4//L/7v/r/+r/5f/p/+T/6f/p/+z/7v/0//b//f8AAAcACAATAA4AGwATAB8AFwAeABcAGAAVAA8AEAAHAAQA///6//X/8//r/+7/5f/r/+T/6P/o/+r/7v/w//b/9////wEACAAJABIADgAZABMAGQAYABcAFgATABEADAALAAMAAQD8//f/9f/v/+//6f/s/+j/6f/s/+r/8P/y//X/+f8AAP//CQAKAAwAFQARABcAFwAVABoAEQAXAAwAEAAFAAgA/P8AAPT/9f/v/+3/6//p/+n/5//s/+j/8P/w//X/+P/+/wEABgALAA0AFAATABcAGAAYABoAFQAXABEADwAMAAYAAwD9//r/8//z/+z/6//p/+j/5f/q/+b/7v/r//P/9P/7//z/BAAHAAsAEAASABQAGgAWABkAGQAVABUAEgANAAsABgABAP3/+f/0//P/6v/w/+X/7f/l/+z/6f/v/+7/9P/3//v/AQACAAkACwAOABUADwAbABEAGQAUABMAEgANAAwABQAFAP3//P/2//T/8P/u/+z/6//s/+n/7v/u//H/9f/2//z///8EAAcADAAMABMAEAAXABQAFgASABUADQARAAgACAABAAAA+P/6//H/8f/u/+r/7f/o/+7/6f/v//D/8v/6//j/AQABAAkACAASAA4AFwASABgAFgAWABUAEQAQAA0ABwAHAP7//v/3//X/8f/t/+z/6//p/+n/6//o//P/7P/3//b//P8AAAQACAAMABAAEAAXABIAGgATABgAFAAQABEACQAJAAUA/v/9//f/9P/y/+7/7P/s/+r/6//s/+3/8P/y//X/+//7/wQAAgAKAAsAEAAQABUAEQAXABEAFgAOABIACAAMAAIAAwD9//n/+P/y//L/7f/w/+r/7//s/+//8f/z//b/+//7/wMAAgAKAAkAEAAOABMAEwARABYADwASAA0ACwAJAAQAAQD+//n/9v/1/+//8f/r/+7/6//u/+7/8f/z//T/+//7/wEABgAFAA0ADgAPABQAEwAUABYAEQATAA4AEAAHAAgAAgD+//3/9v/0//L/7v/u/+v/7P/r/+3/7v/w//T/9v/6//7/AQAFAAoACgASAA4AFQATABQAFgARABIADwAMAAoABQADAPz//f/1//X/8v/v/+z/7//r/+3/8P/s//b/8v/5//v//v8EAAQACwAJABEADwASABMAEAAUABAADgAOAAcACQACAAAA/P/6//X/9v/v//H/7v/w/+z/9P/r//j/8v/7//n///8CAAUACQAKAA0ADwARABEAEQARAA8ADwAKAAsABQADAAEA+v/7//f/8f/1/+7/7//w/+z/8f/x//H/+P/1//3//v8AAAgABQANAA0ADwATAA4AFgAOABUADAAPAAgACwABAAQA/P/5//r/8v/z//D/7v/t//D/6v/0/+3/9v/z//r/+/8BAAIABgAJAAwADwAPABMAEQASABMADwAQAAwACQAIAAMAAgD7//v/9v/1//L/7//x/+3/8P/u//H/8f/3//T//f/6/wMAAgAGAAsACQAQAA8ADwASAA8AEQANAA4ACQAIAAYAAAAAAPv/+f/3//T/8f/z/+//8f/x//D/9v/y//r/9/8AAP3/BgACAAoACgAMABAADAASAA0AEAANAAwACAALAAAABgD6////+P/2//b/8f/z/+//8f/x//P/8f/3//X//P/8////BAAEAAkACwALABAADwAPABIADQAPAA4ACAAMAAIABAAAAPr//v/z//f/8v/w//P/7f/y/+//8v/0//X/+f/5/wAA/v8HAAMADAAKAA4AEAAOABEAEAAPAA8ACwALAAcABgABAP///P/6//b/9v/x//P/8P/x/+//9P/x//X/9//4//z///8BAAQACAAHAAwADQAOAA8ADgANABAACgANAAYABgAEAAAA/v/8//f/+f/0//P/9P/w//T/8v/0//b/9f/7//v//v8BAAIABwAIAAkADAAMAA0ADwAMAA0ACwAJAAkABAAEAAAA/v/8//j/+P/0//b/8f/1/+//9//x//j/9f/7//v//////wYAAgAMAAcADgALAA8ACwASAAgAEAAHAAoABgADAAEA///7//v/9v/2//T/8//x//T/7//2//P/9v/5//j//v///wEABgAFAAwABwAPAAsAEAAOAA0ADQAMAAkACQAFAAMAAgD7////9v/5//X/8//0//L/8f/2//D/+f/0//n/+//9/wEAAQAFAAYACgAJAAwADAAOAAwADQAKAAwABgAKAAAABQD///z//f/3//n/9P/3//L/9v/y//b/9f/4//j//P/8/wAAAQACAAgABgAKAAsACAAPAAcADwAJAAoABwAEAAYAAQAAAP7/+f/8//b/+P/1//T/9v/z//j/9P/5//j//P/+//7/AgAEAAQACgAHAAsADAAKAAwADAAJAAwABgAHAAMABAD///7//P/4//r/9P/4//L/9v/z//T/9//1//r/+P/+//z/BAD+/woAAgAMAAgADAALAA0ACwAMAAoACQAIAAYAAwADAP3////7//j/+v/0//b/9f/z//b/9P/2//j/9//+//j/AwD9/wYAAgAKAAQADQAHAA0ACwAJAA0ABgAKAAcAAwAGAP7/AAD+//n//P/2//n/9P/4//T/9//3//b//P/3/wAA+/8BAAMAAQAIAAQACgAIAAkACwAHAAwABgAJAAQABgABAAMA/f/+//v/+//4//j/9//2//n/9P/5//j/+v/8//v/AAD//wMAAwAGAAYACQAIAAkACgAJAAkACQAHAAUABQACAAEA///9//z/+v/4//j/9v/3//b/9v/4//f/+v/4////+v8FAPz/BwACAAkABgAKAAgACwAKAAkACwAFAAkABQAEAAIAAgD6/wIA+P/6//n/9//1//r/8v/6//X/+P/7//n//v/8/wEAAQAEAAQABgAIAAcACwAIAAkACQAIAAgABwAEAAMAAwD+/wEA+//9//n/+P/6//b/+P/4//X//P/2//7/+P8AAP7///8GAP//CAAFAAcACAAIAAgACAAIAAcABQAFAAQAAAACAP3//v/8//r/+v/3//r/9//4//n/+P/7//r//P////7/AwD//wcAAwAHAAgABgAKAAgABwAKAAQACQABAAcA/v8EAPr/AQD3//7/9f/8//T/+f/3//b/+v/3//z/+v/+//7/AQABAAYAAgAJAAcACQAIAAsABwALAAgABQAJAAIABQAAAAAA/f/9//v/+P/6//X/+f/1//f/+P/2//v/+P/8//3///8AAAMAAgAIAAIADgABABAABQAKAAkABwAIAAUABQABAAQA/f8AAPr//f/4//v/9f/7//T/+//1//v/+P/9//v//v8AAAEAAgAFAAMACAAHAAgABwAJAAYACgAEAAcAAgAFAAAAAQD8////+v/7//n/+f/4//j/+P/5//r/+f/9//v/AQD+/wIAAgAFAAYABQAJAAYACgAHAAgABwAIAAMABgABAAEAAgD6/wAA+P/7//r/9f/7//P/+//2//r/+P/8//r/AAD//wAABAACAAgABQAKAAYACwAIAAkACgAGAAgABAAFAAIAAQD///z//v/4//v/9//2//r/8//6//b/+P/6//n//v/9////AgABAAYABQAGAAkACAAIAAsABgALAAUACAAEAAUAAQABAP///f/8//v/+P/6//f/+P/4//f/+P/7//n//f/7////AQABAAQAAwAFAAgABgAJAAcACAAGAAoAAgAIAAEABAAAAP///v/7//3/+f/5//r/9f/9//T//f/3//z//f/7/wIA/f8FAAEABgAEAAkABQALAAUACgAGAAgABQAGAAIAAwD//wAA/f/7//z/+P/5//n/9v/5//X/+//3//z/+v/9//7/AQAAAAUAAwAHAAcACAAJAAcADAAFAAwABQAFAAgAAAAEAP///v/9//z/+P/8//X/+P/4//T/+//2//n/+v/6//7//v8BAAAABAADAAkABAAKAAcACgAHAAsABQAIAAcAAgAGAAAAAAD+//7/+v/9//X//f/0//v/9v/5//j/+//5////+/8AAAEAAQAFAAMABwAFAAoABgAIAAgABgAHAAYAAwAEAAEAAAAAAPv//f/7//n/+//3//n/+P/5//r/+v/8//v/AAD+/wIAAQAFAAQABgAIAAUACwAEAAsABAAJAAQABAADAAIA//////3/+v/9//f/+v/3//j/+P/4//n/+f/7//v////+/wEAAQAFAAQABwAHAAgACAAKAAcACgAGAAgABAAFAAMAAAAAAP7/+//9//f//P/1//n/9f/6//b/+v/4//r//f/+//3/AwAAAAQABwAEAAgACAAHAAsABwAIAAgABAAIAAIABAAAAP///v/8//3/+P/6//j/+P/4//n/9//7//n//P/9//3/AQABAAEABwABAAkABQAIAAcACQAFAAgABgADAAcA//8EAP7//f8AAPj//v/3//v/+P/5//j/+v/5//3/+v/+//3/AgAAAAQAAwAFAAcABwAHAAgABwAHAAgABQAFAAQAAQACAP///f/+//n//P/4//n/9//5//f/+f/6//j//v/6////AAD//wcA/v8LAAIACgAIAAcACgAHAAgACQAEAAYAAwACAAEA/v/+//v//P/4//r/9f/7//X/+f/3//n/+//6//3//P8CAP//BQACAAYABwAGAAoABgALAAYACQAFAAgAAwAFAAAAAgD9/wAA+f/9//n/+v/3//n/9//6//n/+f/7//z//P8DAPv/BgAAAAUABgAGAAYACAAHAAcACAAEAAgAAQAHAP7/AwD///v/AQD3//3/+f/4//v/9v/8//j/+v/9//n/AQD+/wAABAD//wkAAQALAAMACgAGAAgABwAGAAUABgAAAAYA/P8CAPv//v/5//z/9//6//f/+P/5//n/+f/6//7/+f8FAPn/BwD//wgABAAGAAgACAAIAAkABwAHAAgABAAFAAMAAQABAPz/AAD5//z/+f/3//r/9//2//v/9f/9//f////6/wEA//8BAAQABAAGAAYACAAHAAgACgAFAAkABQAGAAQAAwABAP//AAD8//v//f/2//3/9v/5//n/+P/6//v/+v/+//z/AQD//wQAAQAGAAUABQAJAAQACgAGAAcABAAIAAAABgD//wEA///9//v//f/4//v/+v/2//7/9P////f//v/8//7/AQAAAAMAAgAGAAUABwAGAAgABwAHAAcABAAHAAIABAABAP7/AgD4/wEA9//7//n/+P/5//j/+P/6//r/+//9//z/AQD//wMABAADAAcABgAIAAgACAAHAAkABgAGAAYAAgAEAAAA//////z/+v/8//f/+v/4//f/+P/5//j/+//6//3//v/+/wIAAQAEAAYAAwAKAAQACwAGAAgACAAGAAYABQACAAUA/v8BAP3//P/+//f//P/4//n/+P/5//r/+f/8//r////9/wEAAQABAAYAAgAIAAUABwAHAAcABwAEAAkAAAAIAP//AgD///7//v/7//v/+//4//v/9//8//f//f/6//z////9/wAABAD//wcAAwAGAAcABwAGAAkABAAIAAUABAADAAIAAQD///3//v/6//z/+P/6//j/+v/2//z/9v////n//v/+//7/BAABAAQABQAGAAYACgAFAAkACAAFAAkABAAFAAMAAQABAP7//v/8//v/+v/4//r/9v/6//f/+f/7//f/AAD4/wMA/P8DAAIABAAFAAYABwAHAAgACAAHAAgABQAGAAQAAwACAAAA/v/+//z/+//7//j/+v/4//n/+v/4//z/+v/+//z/AAD//wMAAwACAAgAAQAMAAIACgAFAAYABwAEAAQAAwACAP//AQD7/wAA+f/9//f//f/3//v/+f/6//r//v/7/////////wQAAgAEAAYAAwALAAEADQABAAsAAgAHAAIABQD//wIA/v/9//7/+f/8//n/+P/7//f/+v/5//r//P/7/////f8CAAAABAADAAgAAwAJAAYACAAJAAYACAAEAAcAAgAFAP//AQD+//z//v/3//7/9f/7//j/9v/8//b//P/7//v////8/wQA/v8GAAMABAAIAAYABwAJAAUACQAFAAgAAwAEAAMA//8DAPv////7//v/+v/6//n/9//8//b//f/6//v//v/9/wEA//8DAAMAAwAIAAIACgAEAAgABQAHAAUABQADAAIAAQAAAAAA+v8CAPT/AQD2//z/+P/7//j//f/5//3//v/9/wEAAAADAAMABAAGAAQACQAFAAcABwAFAAYABAAEAAEAAwD9/wEA+//9//v/+v/5//r/+P/5//v/9//+//n//v/+////AAAEAAEABwADAAgABgAIAAcACAAGAAgAAwAHAAIAAgABAP///f////n/+//6//n/+P/6//b//P/3//z/+//8/wAA/f8CAAEABQACAAgABQAHAAgABQAKAAUABwAFAAQABAABAAEA///+//3/+//7//r/+v/4//v/9v/+//f//v/7//3/AAD+/wMAAgADAAQABgAEAAoAAgAKAAQABgAFAAQAAwACAAEA/v////7/+//9//j//P/4//3/9v/9//r/+/////r/BAD7/wUAAQADAAcAAwAHAAYABgAHAAYABQAGAAIABAABAAAAAQD8//7/+//7//r/+v/5//j//P/2//7/+P/+//3//v8AAAAABAADAAYABAAHAAcABgAKAAQACgADAAYABAACAAMA/v8BAPz//f/7//n/+//5//j/+f/5//j//f/4////+v8BAP//AgACAAMABgAFAAcABgAHAAgABgAHAAUABQADAAUA/v8DAP3//v/9//v/+v/7//r/9//8//f//P/7//v//f/+////AQABAAMABAADAAkAAQALAAMABgAIAAMABQAFAP//BQD+/wAA/f/9//z/+//7//n/+//4//3/9/8AAPj/AAD9//7/BAD+/wYAAwAEAAUACAADAAoABAAFAAgAAQAFAAMA//8DAPv/AQD7//v//P/4//z/+P/6//n/+v/8//r//v/9////AQABAAMABAAEAAcABgAGAAgABgAHAAcAAwAHAAIAAwAAAAAA///8//7/+P/9//j/+v/4//r/+P/7//r/+//+//v/AgD+/wMAAQAGAAMACAAEAAgABwAGAAcABgAFAAUAAgACAAIA//////z//f/7//r//P/3//z/+P/7//r//P/8//3////+/wQA/v8HAAAACAAEAAYABgAGAAYABgAFAAMABAABAAIA//8AAPv/AAD4//7/+P/8//n/+v/7//r//v/6/wAA/P8CAAAAAgAFAAEABwAFAAYABQAJAAEACwAAAAgA//8FAP//AAD///z//f/7//r/+//4//v/+f/5//3/9/8BAPj/BAD6/wUA//8FAAQABQAEAAoAAwAKAAUABQAJAAEACAAAAAMAAAD+/wEA+f8AAPf//P/5//n/+v/5//n/+//6//3//f/9/wIA/f8GAAAABgAEAAcABAAKAAMACQA=")
  37.  
  38.  
  39. var dieSound = document.createElement("audio");
  40. dieSound.setAttribute("class", "audio");
  41. dieSound.src = "http://soundfxcenter.com/video-games/super-mario-bros/8d82b5_Super_Mario_Bros_Die_Sound_Effect.mp3";
  42. dieSound.loop = false;
  43. dieSound.onended = function () {
  44.     if (!gameover) { music.play() } else { playsound("gameover") }
  45. }
  46. dieSound.addEventListener("canplay", function () { }, true);
  47. document.body.appendChild(dieSound);
  48.  
  49. var music = document.createElement("audio");
  50. music.setAttribute("class", "audio");
  51. music.src = "https://archive.org/download/SuperMarioBros.ThemeMusic/SuperMarioBros.mp3";
  52. music.loop = true;
  53. music.addEventListener("canplay", function () { }, true);
  54. document.body.appendChild(music);
  55.  
  56. var jumpSound = document.createElement("audio");
  57. jumpSound.setAttribute("class", "audio");
  58. jumpSound.src = "http://soundfxcenter.com/video-games/super-mario-world/8d82b5_SMW_Jump_Sound_Effect.mp3";
  59. jumpSound.loop = false;
  60. jumpSound.addEventListener("canplay", function () { }, true);
  61. document.body.appendChild(jumpSound);
  62.  
  63. var messageSound = document.createElement("audio");
  64. messageSound.setAttribute("class", "audio");
  65. messageSound.src = "http://soundfxcenter.com/video-games/super-mario-world/8d82b5_SMW_Message_Block_Sound_Effect.mp3";
  66. messageSound.loop = false;
  67. messageSound.addEventListener("canplay", function () { }, true);
  68. document.body.appendChild(messageSound);
  69.  
  70. var kickSound = document.createElement("audio");
  71. kickSound.setAttribute("class", "audio");
  72. kickSound.src = "http://soundfxcenter.com/video-games/super-mario-world/8d82b5_SMW_Kick_Sound_Effect.mp3";
  73. kickSound.loop = false;
  74. kickSound.addEventListener("canplay", function () { }, true);
  75. document.body.appendChild(kickSound);
  76.  
  77. var lifeSound = document.createElement("audio");
  78. lifeSound.setAttribute("class", "audio");
  79. lifeSound.src = "http://soundfxcenter.com/video-games/super-mario-world/8d82b5_SMW_1-Up_Sound_Effect.mp3";
  80. lifeSound.loop = false;
  81. lifeSound.addEventListener("canplay", function () { }, true);
  82. document.body.appendChild(lifeSound);
  83.  
  84. var gameOverSound = document.createElement("audio");
  85. gameOverSound.setAttribute("class", "audio");
  86. gameOverSound.src = "http://soundfxcenter.com/video-games/super-mario-world/8d82b5_SMW_Game_Over_Sound_Effect.mp3";
  87. gameOverSound.loop = false;
  88. gameOverSound.addEventListener("canplay", function () { }, true);
  89. document.body.appendChild(gameOverSound);
  90.  
  91. var powerUpSound = document.createElement("audio");
  92. powerUpSound.setAttribute("class", "audio");
  93. powerUpSound.src = "http://soundfxcenter.com/video-games/new-super-mario-bros/8d82b5_New_Super_Mario_Bros_Power_Up_Sound_Effect.mp3";
  94. powerUpSound.loop = false;
  95. powerUpSound.addEventListener("canplay", function () { }, true);
  96. document.body.appendChild(powerUpSound);
  97.  
  98. var pauseSound = document.createElement("audio");
  99. pauseSound.setAttribute("class", "audio");
  100. pauseSound.src = "http://soundfxcenter.com/video-games/super-mario-bros/8d82b5_Super_Mario_Bros_Pause_Sound_Effect.mp3";
  101. pauseSound.loop = false;
  102. pauseSound.addEventListener("canplay", function () { }, true);
  103. document.body.appendChild(pauseSound);
  104.  
  105. var tubeSound = document.createElement("audio");
  106. tubeSound.setAttribute("class", "audio");
  107. tubeSound.src = "http://soundfxcenter.com/video-games/super-mario-bros/8d82b5_Super_Mario_Bros_Pipe_Sound_Effect.mp3";
  108. tubeSound.loop = false;
  109. tubeSound.addEventListener("canplay", function () { }, true);
  110. document.body.appendChild(tubeSound);
  111.  
  112. var appearSound = document.createElement("audio");
  113. appearSound.setAttribute("class", "audio");
  114. appearSound.src = "http://soundfxcenter.com/video-games/super-mario-world/8d82b5_SMW_Appear_Sound_Effect.mp3";
  115. appearSound.loop = false;
  116. appearSound.addEventListener("canplay", function () { }, true);
  117. document.body.appendChild(appearSound);
  118.  
  119. var powerDownSound = document.createElement("audio");
  120. powerDownSound.setAttribute("class", "audio");
  121. powerDownSound.src = "http://soundfxcenter.com/video-games/super-mario-world/8d82b5_SMW_Power_Down_Sound_Effect.mp3";
  122. powerDownSound.loop = false;
  123. powerDownSound.addEventListener("canplay", function () { }, true);
  124. document.body.appendChild(powerDownSound);
  125.  
  126.  
  127.  
  128. function playsound(type) {
  129.     if (mute) { return }
  130.     if (type == "coin") {
  131.         coinsound.pause();
  132.         coinsound.currentTime = 0;
  133.  
  134.         coinsound.play()
  135.     }
  136.     if (type == "die") {
  137.         music.pause();
  138.         dieSound.pause();
  139.         dieSound.currentTime = 0;
  140.         dieSound.play()
  141.     }
  142.  
  143.     if (type == "music") {
  144.         music.pause();
  145.         music.currentTime = 0;
  146.         music.play()
  147.     }
  148.     if (type == "jump") {
  149.         jumpSound.pause();
  150.         jumpSound.currentTime = 0;
  151.         jumpSound.play()
  152.     }
  153.     if (type == "message") {
  154.         messageSound.pause();
  155.         messageSound.currentTime = 0;
  156.         messageSound.play()
  157.     }
  158.     if (type == "kick") {
  159.         kickSound.pause();
  160.         kickSound.currentTime = 0;
  161.         kickSound.play()
  162.     }
  163.     if (type == "1up") {
  164.         lifeSound.pause();
  165.         lifeSound.currentTime = 0;
  166.         lifeSound.play()
  167.     }
  168.     if (type == "gameover") {
  169.         gameOverSound.pause();
  170.         gameOverSound.currentTime = 0;
  171.         gameOverSound.play()
  172.     }
  173.     if (type == "pause") {
  174.         pauseSound.pause();
  175.         pauseSound.currentTime = 0;
  176.         pauseSound.play()
  177.     }
  178.     if (type == "tube") {
  179.         tubeSound.pause();
  180.         tubeSound.currentTime = 0;
  181.         tubeSound.play()
  182.     }
  183.     if (type == "powerup") {
  184.         powerUpSound.pause();
  185.         powerUpSound.currentTime = 0;
  186.         powerUpSound.play()
  187.     }
  188.     if (type == "appear") {
  189.         appearSound.pause();
  190.         appearSound.currentTime = 0;
  191.         appearSound.play()
  192.     }
  193.     if (type == "powerdown") {
  194.         powerDownSound .pause();
  195.         powerDownSound .currentTime = 0;
  196.         powerDownSound .play()
  197.     }
  198.    
  199. }
  200. function setMute() {
  201.     mute = ($("#m-mute").is(':checked'));
  202.     if (mute) {
  203.        
  204.         music.pause();
  205.     }
  206.     else {
  207.         if (!paused) {
  208.             console.log("playing")
  209.             music.play();
  210.         }
  211.     }
  212. }
  213. function setFly() {
  214.  
  215.     fly = ($("#m-fly").is(':checked'))
  216.  
  217. };
  218. (function (b) {
  219.     var title = 'Super Mario World of Text<br>Alpha&nbsp;Version&nbsp;0.7';
  220.  
  221.     var d = b(
  222.         '<div style="text-shadow: 0px 0px 5px #000000;position:fixed;width:300px;padding:4px;z-index:10;color:white;background:url(https://i.imgur.com/N9g9ADj.gif);background-size: cover;background-repeat: no-repeat;background-position-x: center;border-radius:3px;box-shadow:#222 1px 1px 5px 1px;font: 11pt/12pt sans-serif;pointer-events:none;">' +
  223.         '<p style="margin:3px;font:12pt/16pt monospace;text-align:center;">' + title +'</p><p style="margin:4px;"><br>1. WASD to move</br><br>2. Only Goombas</br><br>3. Lots of bugs.</br><br>4. "P" for pause menu.</br><p style="margin:4px;"><p style="margin:4px;"><b></b></p><p style="margin:4px;float:right;"><i>~Poopman</i></p></div>').appendTo("body");
  224.     d.css({
  225.         top: b(window).height() / 2 - d.height() / 2,
  226.         left: b(window).width() / 2 - d.width() / 2
  227.     });
  228.     b(document).one("mousedown.colibri-jslink", function () {
  229.         d.fadeOut(100, function () {
  230.             d.remove()
  231.  
  232.  
  233.             var cells = {
  234.                 width: $($("#yourworld td")[20]).width(),
  235.                 height: $($("#yourworld td")[20]).height()
  236.             }
  237.             var offset =
  238.             {
  239.                 top: 0,
  240.                 left: 0
  241.             }
  242.             var initialScreenPosition = 0;
  243.             var keys =
  244.             {
  245.                 w: false,
  246.                 a: false,
  247.                 s: false,
  248.                 d: false
  249.             }
  250.  
  251.             var marioSprites =
  252.             {
  253.                 big: {
  254.                     standing: "url(https://i.imgur.com/3AbgTGV.png)",
  255.                     walking: "url(https://i.imgur.com/FAlNx6v.gif)",
  256.                     running: "url(https://i.imgur.com/FAlNx6v.gif)",
  257.                     jumping: "url(https://i.imgur.com/Ds1wIuU.png)",
  258.                     burnt: "url(https://i.imgur.com/OHNBHp4.png)",
  259.                     falling: "url(https://i.imgur.com/6iwR8Wp.png)",
  260.                     squatting: "url(https://i.imgur.com/KJik4SF.png)",
  261.                     sliding: "url(https://i.imgur.com/XtiJZyA.png)",
  262.                 },
  263.                 small: {
  264.                     standing: "url(https://i.imgur.com/qZdpy4m.png)",
  265.                     walking: "url(https://i.imgur.com/A4TA5jg.gif)",
  266.                     running: "url(https://i.imgur.com/hhj15NQ.gif)",
  267.                     jumping: "url(https://i.imgur.com/54RtQTs.png)",
  268.                     dying: "url(https://i.imgur.com/1BvCcQI.png)",
  269.                     falling: "url(https://i.imgur.com/EkTsZC3.png)",
  270.                     squatting: "url(https://i.imgur.com/fytAWqC.png)",
  271.                     sliding: "url(https://i.imgur.com/SezxHNy.png)"
  272.                 }
  273.             }
  274.             //this function is used to earch for and add correct classes to cells.
  275.             function styleSheet() {
  276.                 $("td:contains('█')").addClass("m-grass");
  277.                 $("td:contains('▓')").addClass("m-dirt");
  278.                 $("td:contains('▫')").addClass("m-coin");
  279.                 $("td:contains('▢')").addClass("m-lucky");
  280.                 $("td:contains('⛹')").addClass("m-start")
  281.                 $("td:contains('*')").addClass("m-invisible-platform");
  282.                 $("td:contains('◠')").addClass("m-bush");
  283.                 $("td:contains('▄')").addClass("m-grass-edge-right");
  284.                 $("td:contains('▆')").addClass("m-grass-edge-both");
  285.                 $("td:contains('▅')").addClass("m-grass-edge-left");
  286.                 $("td:contains('╮')").addClass("m-bush-edge-right");
  287.                 $("td:contains('╭')").addClass("m-bush-edge-left");
  288.                 $("td:contains('▦')").addClass("m-block-dud");
  289.                 $("td:contains('▮')").addClass("m-block-dud-stacked");
  290.                 $("td:contains('▤')").addClass("m-block-stone");
  291.                 $("td:contains('▯')").addClass("m-block-stone-stacked");
  292.                 $("td:contains('⚁')").addClass("m-block-spin");
  293.                 $("td:contains('x')").addClass("m-invisible-kill");
  294.                 $("td:contains('▣')").addClass("m-block-hidden");
  295.                 $("td:contains('ᴥ')").addClass("m-goomba-spawn");
  296.                 $("td:contains('ↂ')").addClass("m-mushroom-spawn");
  297.                 $("td:contains('⣿')").addClass("m-lava");
  298.                 $("td:contains('╝')").addClass("m-pipe-vertical-top-right flippedY");
  299.                 $("td:contains('╗')").addClass("m-pipe-vertical-top-right");
  300.                 $("td:contains('╘')").addClass("m-pipe-vertical-top-left flippedY");
  301.                 $("td:contains('╒')").addClass("m-pipe-vertical-top-left");
  302.                 $("td:contains('│')").addClass("m-pipe-vertical-left");
  303.                 $("td:contains('║')").addClass("m-pipe-vertical-right");
  304.                 $("td:contains('⟦')").addClass("m-pipe-horizontal-top");
  305.                 $("td:contains('═')").addClass("m-pipe-horizontal-body");
  306.                 $("td:contains('⟧')").addClass("m-pipe-horizontal-top flippedX");
  307.                
  308.                
  309.             }
  310.             function createDocument() {
  311.                 var html =
  312.                     ['<link href="https://fonts.googleapis.com/css?family=Press+Start+2P&display=swap" rel="stylesheet">',
  313.                         '<div class="cell m-mario"></div>',
  314.                         '<div id="m-messagebox" class = "" >Thanks For Playing!</div>',
  315.                         '<div id="m-topbar"> <div id="lives-section" class="outline"><h1>MARIO</h1>',
  316.                         '<div style="position: relative;float: left;color: white;">x</div><h2 id="lives"style=" color: white; ">3</h2></div>',
  317.                         '<div id="points-section" class="outline">',
  318.                         '<div id="coin-icon">&nbsp;</div><div style=" float: left; position: relative; margin-left: 4px; ">x <div id="coins">0</div></div>',
  319.                         '<div id="points">0</div> </div> </div>',
  320.                         '<div id="death-screen-overlay" class = "hide"><div id="centered-modal" class="outlined"> <h1 id="game-over">Game Over</h1> <div id="mario-dead"></div></div></div>',
  321.                         "<div id='paused-overlay' class='hide'><div id='paused-center' class='outline'><div id='paused-title'>PAUSED</div><p style='font-size:0.5em;margin-top: 2em;'>Press \"P\" to play or pause.</p><div id='m-options'>",
  322.                         "<input type='checkbox' onclick = 'setMute()'id='m-mute'><label for='m-mute'>Mute Sounds</label><br>",
  323.                         "<input type='checkbox' onclick = 'setFly()' id='m-fly'><label for='m-fly'>Fly Around</label></div></div></div>"
  324.  
  325.  
  326.                     ];
  327.                 var style =
  328.                     [
  329.                         '<style>',
  330.                         '.cell                 {display: block;width: ' + cellWidth + 'px;height: ' +cellHeight+'px;position: fixed;margin-top:-2px}',
  331.                         '.red                  {background: red!important;}',
  332.                         '.mario-target         {color: transparent;}',
  333.                         '.m-pipe-vertical-top-left  {color: transparent;background-image: url(https://i.imgur.com/qD9qHUU.png);background-size: cover;background-position-x: center;}',
  334.                         '.m-pipe-vertical-top-right  {color: transparent;background-image: url(https://i.imgur.com/g0r1e0W.png);background-size: cover;background-position-x: center;}',
  335.                         '.m-pipe-vertical-left      {color: transparent;background-image: url(https://i.imgur.com/mj3zKaX.png);background-size: cover;background-position-x: center;}',
  336.                         '.m-pipe-vertical-right      {color: transparent;background-image: url(https://i.imgur.com/AlCEKLe.png);background-size: cover;background-position-x: center;}',
  337.                         '.m-pipe-horizontal-top      {color: transparent;background-image: url(https://i.imgur.com/5arzX17.png);background-size: cover;background-position-x: center;}',
  338.                         '.m-pipe-horizontal-body      {color: transparent;background-image: url(https://i.imgur.com/WV29hIB.png);background-size: cover;background-position-x: center;}',
  339.                         '.m-block-spin          {color: transparent;background-image: url(https://i.imgur.com/6zSU6nq.png);background-size: cover}',
  340.                         '.m-block-spinning          {color: transparent;background-image: url(https://i.imgur.com/7dNZMwb.gif);background-size: cover}',
  341.                         '.m-block-dud          {color: transparent;background-image: url(https://i.imgur.com/6Dxur3k.png);background-size: cover}',
  342.                         '.m-block-stone        {color: transparent;background-image: url(https://i.imgur.com/14EboDy.png);background-size: cover}',
  343.                         '.m-block-dud-stacked          {color: transparent;background-image: url(https://i.imgur.com/7H4FbEO.png);background-size: cover}',
  344.                         '.m-block-stone-stacked        {color: transparent;background-image: url(https://i.imgur.com/JrkkzHo.png);background-size: cover}',
  345.                         '.m-block-hidden       {color:transparent}',
  346.                         '.m-lava              {color: transparent;background-image: url(https://i.imgur.com/S10Q75m.gif);background-size: cover}',
  347.                         '.m-bush               {color: transparent;background-image: url(https://i.imgur.com/JtJv50x.png);background-size: cover;background-position-x: center;}',
  348.                         '.m-bush-edge-right    {color: transparent;background-image: url(https://i.imgur.com/gOBRvl6.png);background-size: cover}',
  349.                         '.m-bush-edge-left     {color: transparent;background-image: url(https://i.imgur.com/UUa6ANH.png);background-size: cover}',
  350.                         '.m-grass-edge-both     {color: transparent;background-image: url(https://i.imgur.com/YpzIMRs.png);background-size: cover}',
  351.                         '.m-grass              {color: transparent;background-image: url(https://i.imgur.com/ABZ9SiT.jpg);background-size: cover}',
  352.                         '.m-grass-edge-right   {color: transparent;background-image: url(https://i.imgur.com/t3ptWaJ.png);background-size: cover}',
  353.                         '.m-grass-edge-left    {color: transparent;background-image: url(https://i.imgur.com/Ah7hKhO.png);background-size: cover}',
  354.                         '.m-dirt               {color: transparent;background-image: url(https://i.imgur.com/xGOqoS3.jpg);background-size: cover;}',
  355.                         '.m-coin               {color: transparent;background-image: url(https://i.imgur.com/Wrq208j.gif);background-size: contain;background-repeat: no-repeat;}',
  356.                         '.m-lucky              {color: transparent;background-image: url(https://i.imgur.com/n25g2Jw.gif);background-size: contain;background-repeat: no-repeat;}',
  357.                         '.m-mario              {color: transparent;background-image: url(https://i.imgur.com/786205S.png);background-size: cover;background-repeat: no-repeat;background-position-x: center;no-repeat;background-position-y:bottom}',
  358.                         '.m-goomba             {position: fixed; z-index: 0;color: transparent;background-image: url(https://i.imgur.com/izaqvY0.png);background-size: contain;background-repeat: no-repeat;background-position-x: center;background-position-y: bottom;}',
  359.                         '.m-mushroom             {position: fixed; z-index: 0;color: transparent;background-image: url(https://i.imgur.com/M36w8gJ.png);background-size: contain;background-repeat: no-repeat;background-position-x: center;background-position-y: bottom;}',
  360.                         '.m-goomba-crushed     {position: fixed; z-index: 0;color: transparent;background-image: url(https://i.imgur.com/1JBPbsU.png);background-size: contain;background-repeat: no-repeat;background-position-x: center;background-position-y: bottom;}',
  361.                         '.m-goomba-spawn       {color:transparent}',
  362.                         '.m-mushroom-spawn     {color:transparent}',
  363.                         '.m-start              {color: transparent}div#m-target {position: fixed;width: 10px;height: 16px;background:transparent;background-size: cover;background-position-x: center;}',
  364.                         '.flippedX              {-webkit-transform: scaleX(-1);-moz-transform: scaleX(-1);-o-transform: scaleX(-1);transform: scaleX(-1);filter: FlipH;-ms-filter: "FlipH";}',
  365.                         '.flippedY              {-webkit-transform: scaleY(-1);-moz-transform: scaleY(-1);-o-transform: scaleY(-1);transform: scaleY(-1);filter: FlipV;-ms-filter: "FlipV";}',
  366.                         '.m-invisible-platform {color:transparent}',
  367.                         '.m-invisible-kill     {color:red}',
  368.                         '#m-messagebox         {display:none;font-family: "Press Start 2P", cursive;position: fixed;top: 0;left: 0;background: white;border: 3px solid black;padding: 10px;font-size: 6px;line-height: 12px;}',
  369.                         '.m-point-popup        {display: block;position: fixed;color: #fff;height: 10px;padding: 10px;font-family: "Press Start 2P", cursive;}',
  370.                         '.show                 {display:block!important}',
  371.                         '.hide                 {display:none!important}',
  372.  
  373.                         '#m-topbar { position: fixed;z-index: 2; width: 0px; height: 0px; background: transparent; top: 0; left: 0; font-family: "Press Start 2P", cursive; font-size: 10px; padding: 10px; line-height: 1.3; }',
  374.                         '#lives-section { color: red; }',
  375.                         '.outline{ text-shadow: 2px -2px 0 #000000, -2px 2px 0 #000000, -2px -2px 0 #000000, 2px 0px 0 #000000, 0px 2px 0 #000000, -2px 0px 0 #000000, 0px -2px 0 #000000, 0px 0px 4px rgb(0, 0, 0); }',
  376.                         '#coin-icon {background: url(https://i.imgur.com/Wrq208j.gif);display: block;width: 11px;height: 13px;background-size: contain;float: left;position: relative;}',
  377.                         'points-section { position: static; }',
  378.                         '#points-section { position: fixed; right: 69px; color: white; padding: 10px; float: right; top: 0px; line-height: 1.6em; letter-spacing: 0.3em; }',
  379.                         '#coins { position: relative; float: right; }',
  380.                         '#death-screen-overlay {z-index: 1; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: black; }',
  381.                         '#centered-modal { font-family: "Press Start 2P", cursive; width: 30%; height: 2em; display: block; position: fixed; top: 50%; left: 50%; margin-left: -15%; text-align: center; line-height: 2em; font-size: 0.8em; color: #ffbc00; }',
  382.                         '#centered-model h1 { text-alight:centered }',
  383.                         '#mario-dead { background: url(https://i.imgur.com/yQPo3eC.gif); position: relative; display: block; width: 100%; height: 100px; background-size: contain; float: right; background-position-x: center; background-repeat: no-repeat; margin-top: 20px; }',
  384.                         '#paused-overlay {display:block;position:fixed;background: #6f6f6fcc;height:100%;width:100%;top: 0px;z-index: 1;}',
  385.                         '#paused-center {color:white;font-family: "Press Start 2P"; display: block; position: fixed; top: 50%; left: 50%; }',
  386.                         '#paused-title {font-size:2em;color: white;}',
  387.                         '#m-options { margin-top:10px }',
  388.                         '#m-options input{margin-top:10px }',
  389.                         '#m-options input + label{ margin-left:10px }',
  390.                         '#m-options input:checked + label{ color:red }',
  391.                         '</style>'
  392.  
  393.                     ]
  394.                 html = html.join("");
  395.                 style = style.join("");
  396.                 $("body").append(html + style);
  397.  
  398.             }
  399.             // this function spawns all of the interactables
  400.             function addInteractables() {
  401.                 $(".m-goomba-spawn").each(function () {
  402.                     var goomba = new Enemy(this, "m-goomba cell");
  403.                     $(this).html("&nbsp;")
  404.                     $(this).removeClass("m-goomba-spawn");
  405.                     goomba.create();
  406.                 })
  407.                 $(".m-mushroom-spawn").each(function () {
  408.                     var mushroom = new PowerUp(this, "m-mushroom cell");
  409.                     $(this).html("&nbsp;")
  410.                     $(this).removeClass("m-mushroom-spawn");
  411.                     mushroom.create();
  412.                 })
  413.                 $(".m-start").each(function () {
  414.                     if (playerList.length < 1) {
  415.                         var player = new Player(this, "mario-target cell");
  416.                         $(this).html("&nbsp;")
  417.                         $(this).removeClass("m-start");
  418.                         player.create();
  419.                     }
  420.                 })
  421.  
  422.  
  423.             }
  424.             //--------------------Main function for making an enemy object.
  425.             function PowerUp(element, type) {
  426.                 this.type = type;
  427.                 this.direction = "right"
  428.                 this.element = element;
  429.                 var _this = this
  430.                 this.getElementPos = function () {
  431.                     this.elementPos = getBoundingBox(this.element);
  432.                 }
  433.                 this.destroy = function () {
  434.                     var i = 0
  435.                     powerUpList.forEach(function (powerUp) {
  436.                         if (powerUp.id == _this.id) {
  437.                             $(powerUp.self).html("&nbsp;");
  438.                             $(powerUp.self).removeClass("m-"+this.type);
  439.                             //$(enemy.self).addClass("m-goomba-crushed");
  440.                             _this.alive = false;
  441.                              $(powerUp.self).remove();
  442.                             powerUpList.splice(i, 1);
  443.  
  444.  
  445.                         }
  446.                         i++;
  447.                     });
  448.                 }
  449.                 this.move = function () {
  450.                     if (!this.alive) { return }
  451.                     var elBoundsInfo = getNearbyElements(this.self);
  452.                     if (typeof getBoundingBox(elBoundsInfo.bottom.element) == "undefined" ||
  453.                         typeof getBoundingBox(elBoundsInfo.top.element) == "undefined" ||
  454.                         typeof getBoundingBox(elBoundsInfo.left.element) == "undefined" ||
  455.                         typeof getBoundingBox(elBoundsInfo.right.element) == "undefined") {
  456.  
  457.                         _this.destroy();
  458.                         _this.alive = false;
  459.                         return
  460.                     }
  461.                     var bottomPosition = getBoundingBox(elBoundsInfo.bottom.element).top;
  462.                     var topPosition = getBoundingBox(elBoundsInfo.top.element).top;
  463.                     var rightPosition = getBoundingBox(elBoundsInfo.right.element).left;
  464.                     var leftPosition = getBoundingBox(elBoundsInfo.left.element).left;
  465.                     if (isPlayer($(elBoundsInfo.top.element).html())) {
  466.                         this.destroy();
  467.                         playsound("powerup");
  468.                         _this.alive = false;
  469.                         playerList[0].powerUp(this.type);
  470.                     }
  471.                     if (!isBackground($(elBoundsInfo.left.element).html())) {
  472.  
  473.                         this.direction = "right"
  474.                     }
  475.                     if (!isBackground($(elBoundsInfo.right.element).html())) {
  476.  
  477.                         this.direction = "left"
  478.                     }
  479.  
  480.                     if (isBackground($(elBoundsInfo.bottom.element).html()) && !mousedown) {
  481.                         this.direction = "down"
  482.  
  483.                     }
  484.                     if (!mousedown) {
  485.                         if (this.direction == "down" && this.alive) {
  486.                             if (isBackground($(elBoundsInfo.bottom.element).html())) {
  487.                                 if (elBoundsInfo.bottom.element.nodeName == "TD") {
  488.                                     this.element = elBoundsInfo.bottom.element;
  489.                                 }
  490.                                 if (isPlayer($(elBoundsInfo.bottom.element).html())) {
  491.                                    
  492.                                     playerList[0].powerUp(this.type);
  493.                                     this.destroy();
  494.                                     playsound("powerup");
  495.                                     _this.alive = false;
  496.                                 }
  497.                                 $(this.self).css(
  498.                                     {
  499.                                         "top": bottomPosition
  500.                                     })
  501.                             }
  502.                             else {
  503.                                 this.direction = "left"
  504.                             }
  505.  
  506.                         }
  507.  
  508.                         if (this.direction == "up" && this.alive) {
  509.  
  510.                             if (isBackground($(elBoundsInfo.top.element).html())) {
  511.                                 if (elBoundsInfo.top.element.nodeName == "TD") {
  512.                                     this.element = elBoundsInfo.top.element;
  513.                                 }
  514.                                 if (isPlayer($(elBoundsInfo.top.element).html())) {
  515.                                    
  516.                                     playerList[0].powerUp(this.type);
  517.                                     this.destroy();
  518.                                     playsound("powerup");
  519.                                     _this.alive = false;
  520.                                    
  521.                                 }
  522.                                 $(this.self).css(
  523.                                     {
  524.                                         "top": topPosition
  525.                                     })
  526.                             }
  527.  
  528.                         }
  529.                     }
  530.                     if (enemyTick_i % 10 == 0 && enemyTick_i !== 0 && this.alive) {
  531.                         if (this.direction == "right" && this.alive) {
  532.                             if (isBackground($(elBoundsInfo.right.element).html())) {
  533.                                 if (elBoundsInfo.right.element.nodeName == "TD") {
  534.                                     this.element = elBoundsInfo.right.element;
  535.                                 }
  536.                                 if (isPlayer($(elBoundsInfo.right.element).html())) {
  537.                                    
  538.                                     playerList[0].powerUp(this.type);
  539.                                     this.destroy();
  540.                                     playsound("powerup");
  541.                                     _this.alive = false;
  542.                                 }
  543.                                 $(this.self).css(
  544.                                     {
  545.                                         "left": rightPosition
  546.                                     })
  547.                             }
  548.                         }
  549.                         if (this.direction == "left" && this.alive) {
  550.  
  551.                             if (isBackground($(elBoundsInfo.left.element).html())) {
  552.                                 if (elBoundsInfo.left.element.nodeName == "TD") {
  553.                                     this.element = elBoundsInfo.left.element;
  554.                                 }
  555.                                 if (isPlayer($(elBoundsInfo.left.element).html())) {
  556.                                    
  557.                                     playerList[0].powerUp(this.type);
  558.                                     this.destroy();
  559.                                     playsound("powerup");
  560.                                     _this.alive = false;
  561.                                 }
  562.                                 $(this.self).css(
  563.                                     {
  564.                                         "left": leftPosition
  565.                                     })
  566.                             }
  567.  
  568.                         }
  569.  
  570.                     }
  571.  
  572.                 }
  573.  
  574.                 this.create = function () {
  575.                     this.alive = true;
  576.                     this.id = btoa(Math.random().toString(16).slice(Math.random() * 10) + Math.random().toString(16).slice(Math.random() * 10))
  577.                     this.elementPos = getBoundingBox(this.element);
  578.                     this.self = document.createElement("div");
  579.                     this.self.className = this.type;
  580.                     this.jumping = false;
  581.                     document.body.appendChild(this.self);
  582.                     $(this.self).html("ↂ")
  583.                     playsound("appear");
  584.                     $(this.self).css({ "top": this.elementPos.top, "left": this.elementPos.left });
  585.                     powerUpList.push(this)
  586.                 }
  587.                 this.resetPosition = function () {
  588.                     this.getElementPos();
  589.  
  590.                     $(this.self).css({ "top": this.elementPos.top, "left": this.elementPos.left });
  591.                 }
  592.  
  593.                 this.gravity = function () {
  594.                     this.elBoundsInfo = getNearbyElements(this.element);
  595.                     if (isBackground($(this.elBoundsInfo.bottom.element).html()) && !mousedown) {
  596.                         this.move("down", this.self);
  597.                     }
  598.                     else { this.jumping = false; }
  599.                 }
  600.  
  601.             }
  602.  
  603.  
  604.             //--------------------Main function for making an enemy object.
  605.             function Enemy(element, type) {
  606.                 this.type = type;
  607.                 this.direction = "left"
  608.                 this.element = element;
  609.                 var _this = this
  610.                 this.getElementPos = function () {
  611.                     this.elementPos = getBoundingBox(this.element);
  612.                 }
  613.                 this.destroy = function () {
  614.                     var i = 0
  615.                     enemiesList.forEach(function (enemy) {
  616.                         if (enemy.id == _this.id) {
  617.                             $(enemy.self).html("&nbsp;");
  618.                             $(enemy.self).removeClass("m-goomba");
  619.                             $(enemy.self).addClass("m-goomba-crushed");
  620.                             _this.alive = false;
  621.                             setTimeout(function () { $(enemy.self).remove(); enemiesList.splice(i, 1) }, 1000)
  622.  
  623.  
  624.                         }
  625.                         i++;
  626.                     });
  627.                 }
  628.                 this.move = function () {
  629.                     if (!this.alive) { return }
  630.                     var elBoundsInfo = getNearbyElements(this.self);
  631.                     if (typeof getBoundingBox(elBoundsInfo.bottom.element) == "undefined" ||
  632.                         typeof getBoundingBox(elBoundsInfo.top.element) == "undefined" ||
  633.                         typeof getBoundingBox(elBoundsInfo.left.element) == "undefined" ||
  634.                         typeof getBoundingBox(elBoundsInfo.right.element) == "undefined") {
  635.  
  636.                         _this.destroy();
  637.                         _this.alive = false;
  638.                         return
  639.                     }
  640.                     var bottomPosition = getBoundingBox(elBoundsInfo.bottom.element).top;
  641.                     var topPosition = getBoundingBox(elBoundsInfo.top.element).top;
  642.                     var rightPosition = getBoundingBox(elBoundsInfo.right.element).left;
  643.                     var leftPosition = getBoundingBox(elBoundsInfo.left.element).left;
  644.                     if (isPlayer($(elBoundsInfo.top.element).html())) {
  645.                         this.destroy();
  646.                         playsound("kick")
  647.                         _this.alive = false;
  648.                         var pointPop = new PointPopup(1000);
  649.                         pointPop.create();
  650.                     }
  651.                     if (!isBackground($(elBoundsInfo.left.element).html())) {
  652.  
  653.                         this.direction = "right"
  654.                     }
  655.                     if (!isBackground($(elBoundsInfo.right.element).html())) {
  656.  
  657.                         this.direction = "left"
  658.                     }
  659.  
  660.                     if (isBackground($(elBoundsInfo.bottom.element).html()) && !mousedown) {
  661.                         this.direction = "down"
  662.  
  663.                     }
  664.                     if (!mousedown) {
  665.                         if (this.direction == "down" && this.alive) {
  666.                             if (isBackground($(elBoundsInfo.bottom.element).html())) {
  667.                                 if (elBoundsInfo.bottom.element.nodeName == "TD") {
  668.                                     this.element = elBoundsInfo.bottom.element;
  669.                                 }
  670.                                 if (isPlayer($(elBoundsInfo.bottom.element).html())) {
  671.                                     playerList[0].hurt();
  672.                                 }
  673.                                 $(this.self).css(
  674.                                     {
  675.                                         "top": bottomPosition
  676.                                     })
  677.                             }
  678.                             else {
  679.                                 this.direction = "left"
  680.                             }
  681.  
  682.                         }
  683.  
  684.                         if (this.direction == "up" && this.alive) {
  685.  
  686.                             if (isBackground($(elBoundsInfo.top.element).html())) {
  687.                                 if (elBoundsInfo.top.element.nodeName == "TD") {
  688.                                     this.element = elBoundsInfo.top.element;
  689.                                 }
  690.                                 if (isPlayer($(elBoundsInfo.top.element).html())) {
  691.                                     this.destroy();
  692.                                     playsound("kick")
  693.                                     _this.alive = false;
  694.                                 }
  695.                                 $(this.self).css(
  696.                                     {
  697.                                         "top": topPosition
  698.                                     })
  699.                             }
  700.  
  701.                         }
  702.                     }
  703.                     if (enemyTick_i % 10 == 0 && enemyTick_i !== 0 && this.alive) {
  704.                         if (this.direction == "right" && this.alive) {
  705.                             if (isBackground($(elBoundsInfo.right.element).html())) {
  706.                                 if (elBoundsInfo.right.element.nodeName == "TD") {
  707.                                     this.element = elBoundsInfo.right.element;
  708.                                 }
  709.                                 if (isPlayer($(elBoundsInfo.right.element).html())) {
  710.                                     playerList[0].hurt();
  711.                                 }
  712.                                 $(this.self).css(
  713.                                     {
  714.                                         "left": rightPosition
  715.                                     })
  716.                             }
  717.                         }
  718.                         if (this.direction == "left" && this.alive) {
  719.  
  720.                             if (isBackground($(elBoundsInfo.left.element).html())) {
  721.                                 if (elBoundsInfo.left.element.nodeName == "TD") {
  722.                                     this.element = elBoundsInfo.left.element;
  723.                                 }
  724.                                 if (isPlayer($(elBoundsInfo.left.element).html())) {
  725.                                     playerList[0].hurt();
  726.                                 }
  727.                                 $(this.self).css(
  728.                                     {
  729.                                         "left": leftPosition
  730.                                     })
  731.                             }
  732.  
  733.                         }
  734.  
  735.                     }
  736.  
  737.                 }
  738.  
  739.                 this.create = function () {
  740.                     this.alive = true;
  741.                     this.id = btoa(Math.random().toString(16).slice(Math.random() * 10) + Math.random().toString(16).slice(Math.random() * 10))
  742.                     this.elementPos = getBoundingBox(this.element);
  743.                     this.self = document.createElement("div");
  744.                     this.self.className = this.type;
  745.                     this.jumping = false;
  746.                     document.body.appendChild(this.self);
  747.                     $(this.self).html("ᴥ")
  748.                     $(this.self).css({ "top": this.elementPos.top, "left": this.elementPos.left });
  749.                     enemiesList.push(this)
  750.                 }
  751.                 this.resetPosition = function () {
  752.                     this.getElementPos();
  753.  
  754.                     $(this.self).css({ "top": this.elementPos.top, "left": this.elementPos.left });
  755.                 }
  756.  
  757.                 this.gravity = function () {
  758.                     this.elBoundsInfo = getNearbyElements(this.element);
  759.                     if (isBackground($(this.elBoundsInfo.bottom.element).html()) && !mousedown) {
  760.                         this.move("down", this.self);
  761.                     }
  762.                     else { this.jumping = false; }
  763.                 }
  764.  
  765.             }
  766.  
  767.             //--------------------Main function for making an point popup.
  768.             function PointPopup(amount) {
  769.                 var _this = this;
  770.                 this.create = function () {
  771.                     this.self = document.createElement("div");
  772.                     this.self.className = "m-point-popup outline";
  773.                     var elementPos = getBoundingBox($($(".m-mario")[0]))
  774.                     document.body.appendChild(this.self);
  775.                     $(this.self).css({ "top": elementPos.top - 40, "left": elementPos.left });
  776.                     $(this.self).html(amount + "")
  777.                     points += amount;
  778.                     updatePoints();
  779.                     setTimeout(function () {
  780.                         $(_this.self).remove();
  781.                     }, 1000)
  782.                 }
  783.             }
  784.             //--------------------Main function for making an enemy object.
  785.             function Player(element, type) {
  786.                 _this = this;
  787.                 this.type = type;
  788.                 this.direction = "left"
  789.                 this.element = element;
  790.  
  791.                 this.getElementPos = function () {
  792.                     this.elementPos = getBoundingBox(this.element);
  793.                 }
  794.                 this.move = function () {
  795.                     var elBoundsInfo = getNearbyElements(this.self);
  796.                     if (typeof getBoundingBox(elBoundsInfo.bottom.element) == "undefined" ||
  797.                         typeof getBoundingBox(elBoundsInfo.top.element) == "undefined" ||
  798.                         typeof getBoundingBox(elBoundsInfo.left.element) == "undefined" ||
  799.                         typeof getBoundingBox(elBoundsInfo.right.element) == "undefined") {
  800.  
  801.  
  802.                         return
  803.                     }
  804.  
  805.                     var bottomPosition = getBoundingBox(elBoundsInfo.bottom.element).top;
  806.                     var topPosition = getBoundingBox(elBoundsInfo.top.element).top;
  807.                     var rightPosition = getBoundingBox(elBoundsInfo.right.element).left;
  808.                     var leftPosition = getBoundingBox(elBoundsInfo.left.element).left;
  809.  
  810.                     if (!keys.d && !keys.a && !keys.w) {
  811.                         this.direction = "none"
  812.                     }
  813.                     if (keys.d) {
  814.                         this.direction = "right"
  815.                     }
  816.                     if (keys.a) {
  817.                         this.direction = "left"
  818.                     }
  819.  
  820.                     if (keys.s) {
  821.                         this.direction = "down"
  822.                     }
  823.  
  824.                     if (keys.w) {
  825.                         this.jump();
  826.                     }
  827.                     if (!mousedown) {
  828.                         if (this.direction == "down" && !keys.w) {
  829.                            
  830.                             this.checkCell(elBoundsInfo.bottom.element, "down");
  831.                             if (isBackground($(elBoundsInfo.bottom.element).html())) {
  832.                                 if (elBoundsInfo.bottom.element.nodeName == "TD") {
  833.                                     this.element = elBoundsInfo.bottom.element;
  834.                                 }
  835.  
  836.  
  837.                                 $(this.self).css(
  838.                                     {
  839.                                         "top": bottomPosition
  840.                                     })
  841.                                 falling = true
  842.                                 offset.top += cells.height;
  843.                             }
  844.                             else if (isTube($(elBoundsInfo.bottom.element).html())) {
  845.                                 var tube = elBoundsInfo.bottom.element;
  846.                                 var data = JSON.parse("{" + $(tube).data("url").replace(/.*\/\//g, "") + "}");
  847.                                 //var moveX = parseInt(data[1]);
  848.                                 //var moveY = parseInt(data[0])
  849.  
  850.                                 var tubeLocation = data.teleport;
  851.                                 var td = 'http://"name":"' + tubeLocation + '"';
  852.                                 var target = $("td[data-url='" + td + "']")[0]
  853.                                 console.log(target)
  854.                                 if (tube.innerText == "╒" || tube.innerText == "╗") {
  855.                                     this.teleport(target, target.innerText);
  856.                                 }
  857.                             }
  858.                             else {
  859.                                 this.squatting = true;
  860.                             }
  861.                            
  862.  
  863.  
  864.                         }
  865.  
  866.                         if (this.direction == "up") {
  867.  
  868.                             if (isBackground($(elBoundsInfo.top.element).html())) {
  869.                                 this.checkCell(elBoundsInfo.top.element, "up");
  870.                                 if (elBoundsInfo.top.element.nodeName == "TD") {
  871.                                     this.element = elBoundsInfo.top.element;
  872.                                 }
  873.  
  874.                                 $(this.self).css(
  875.                                     {
  876.                                         "top": topPosition
  877.                                     })
  878.                                 offset.top -= cells.height;
  879.                                 falling = false
  880.                             }
  881.                             else if (isTube($(elBoundsInfo.top.element).html())) {
  882.                                 var tube = elBoundsInfo.top.element;
  883.                                 var data = JSON.parse("{" + $(tube).data("url").replace(/.*\/\//g, "") + "}");
  884.                                 //var moveX = parseInt(data[1]);
  885.                                 //var moveY = parseInt(data[0])
  886.  
  887.                                 var tubeLocation = data.teleport;
  888.                                 var td = 'http://"name":"' + tubeLocation + '"';
  889.                                 var target = $("td[data-url='" + td + "']")[0]
  890.                                 if (tube.innerText == "╘" || tube.innerText == "╝") {
  891.                                     this.teleport(target, target.innerText);
  892.                                 }
  893.                             }
  894.                         }
  895.                         if (this.direction == "right") {
  896.                             this.checkCell(elBoundsInfo.right.element, "right");
  897.                             if (isBackground($(elBoundsInfo.right.element).html())) {
  898.                                 if (elBoundsInfo.right.element.nodeName == "TD") {
  899.                                     this.element = elBoundsInfo.right.element;
  900.                                 }
  901.  
  902.                                 offset.left += cells.width;
  903.                                 $(this.self).css(
  904.                                     {
  905.                                         "left": rightPosition
  906.                                     })
  907.                                 falling = false
  908.                             }
  909.                             else if (isTube($(elBoundsInfo.right.element).html())) {
  910.                                 var tube = elBoundsInfo.right.element;
  911.                                 var data = JSON.parse("{" + $(tube).data("url").replace(/.*\/\//g, "") + "}");
  912.                                 //var moveX = parseInt(data[1]);
  913.                                 //var moveY = parseInt(data[0])
  914.  
  915.                                 var tubeLocation = data.teleport;
  916.                                 var td = 'http://"name":"' + tubeLocation + '"';
  917.                                 var target = $("td[data-url='" + td + "']")[0]
  918.                                 if (tube.innerText == "⟦" ) {
  919.                                     this.teleport(target, target.innerText);
  920.                                 }
  921.                             }
  922.                         }
  923.                         if (this.direction == "left") {
  924.                             offset.left -= cells.width;
  925.                             this.checkCell(elBoundsInfo.left.element, "left");
  926.                             if (isBackground($(elBoundsInfo.left.element).html())) {
  927.                                 if (elBoundsInfo.left.element.nodeName == "TD") {
  928.                                     this.element = elBoundsInfo.left.element;
  929.                                 }
  930.  
  931.                                 $(this.self).css(
  932.                                     {
  933.                                         "left": leftPosition
  934.                                     })
  935.                                 falling = false
  936.                             }
  937.                             else if (isTube($(elBoundsInfo.left.element).html())) {
  938.                                 var tube = elBoundsInfo.left.element;
  939.                                 var data = JSON.parse("{" + $(tube).data("url").replace(/.*\/\//g, "") + "}");
  940.                                 //var moveX = parseInt(data[1]);
  941.                                 //var moveY = parseInt(data[0])
  942.  
  943.                                 var tubeLocation = data.teleport;
  944.                                 var td = 'http://"name":"' + tubeLocation + '"';
  945.                                 var target = $("td[data-url='" + td + "']")[0]
  946.                                 if (tube.innerText == "⟧") {
  947.                                     this.teleport(target, target.innerText);
  948.                                 }
  949.                             }
  950.                         }
  951.                     }
  952.  
  953.                 }
  954.                 this.checkCell = function (cell, dir = "") {
  955.                     if (!$(cell).hasClass("m-mario")) {
  956.                         var html = $(cell).html()
  957.                         if (isPainful(html)) {
  958.  
  959.  
  960.                             this.hurt();
  961.                         }
  962.                         if (isCollectFromBottomOnly(html) && dir == "up") {
  963.                             collect(cell, html)
  964.                         }
  965.                         if (isCollectable(html)) {
  966.  
  967.                             collect(cell, html)
  968.                         }
  969.                         if (isEnemy(html)) {
  970.                             if (dir !== "down") {
  971.  
  972.                                 this.hurt();
  973.                             }
  974.                             else {
  975.  
  976.                             }
  977.                         }
  978.                     }
  979.                 }
  980.                 this.powerUp = function (type) {
  981.                     if (type == "m-mushroom cell") {
  982.                         big = true;
  983.                     }
  984.                 };
  985.                 this.teleport = function(el,type){
  986.                    
  987.                     playsound("tube");
  988.  
  989.                     var elBoundsInfo = getNearbyElements(el);
  990.                     var targetPosition = el.getBoundingClientRect();
  991.                     var marioPosition = $(".m-mario")[0].getBoundingClientRect();
  992.                     var distanceX = marioPosition.left - targetPosition.left
  993.                     var distancey = marioPosition.top - targetPosition.top
  994.  
  995.                     if (typeof getBoundingBox(elBoundsInfo.bottom.element) == "undefined" ||
  996.                         typeof getBoundingBox(elBoundsInfo.top.element) == "undefined" ||
  997.                         typeof getBoundingBox(elBoundsInfo.left.element) == "undefined" ||
  998.                         typeof getBoundingBox(elBoundsInfo.right.element) == "undefined") {
  999.  
  1000.  
  1001.                         return
  1002.                     }
  1003.                     var top = getBoundingBox(el).top;
  1004.                     var left = getBoundingBox(el).left;
  1005.                     var bottomPosition = getBoundingBox(elBoundsInfo.bottom.element).top;
  1006.                     var topPosition = getBoundingBox(elBoundsInfo.top.element).top;
  1007.                     var leftPosition = getBoundingBox(elBoundsInfo.left.element).left;
  1008.                     var rightPosition = getBoundingBox(elBoundsInfo.right.element).left;
  1009.                    
  1010.                     if (type !== "╒" && type !== "╗" && type !== "⟦" && type !== "⟧" ) {
  1011.  
  1012.                         if (el.nodeName == "TD") {
  1013.                             this.element = el;
  1014.                         }
  1015.                        
  1016.                         $(this.self).css(
  1017.                             {
  1018.                                 "top": top,
  1019.                                 "left": left
  1020.                             })
  1021.                         offset.top += (distancey*-1);
  1022.                         offset.left += (distanceX*-1);
  1023.  
  1024.                     }
  1025.                     if (type == "╒" || type == "╗") {
  1026.  
  1027.                         if (elBoundsInfo.top.element.nodeName == "TD") {
  1028.                             this.element = elBoundsInfo.top.element;
  1029.                         }
  1030.  
  1031.                         $(this.self).css(
  1032.                             {
  1033.                                 "top": topPosition,
  1034.                                 "left": left
  1035.                             })
  1036.                         offset.top += (distancey * -1);
  1037.                         offset.left += (distanceX * -1);
  1038.  
  1039.                     }
  1040.                    
  1041.  
  1042.                 }
  1043.  
  1044.                 this.create = function () {
  1045.                     this.hasgravity = true
  1046.                     this.squatting = false;
  1047.                     this.elementPos = getBoundingBox(this.element);
  1048.                     this.self = document.createElement("div");
  1049.                     this.self.className = this.type;
  1050.                     this.jumping = false;
  1051.                     document.body.appendChild(this.self);
  1052.                     $(this.self).css({ "top": this.elementPos.top, "left": this.elementPos.left });
  1053.                     $(this.self).html("⛹")
  1054.                     playerList.push(this)
  1055.                 }
  1056.                 this.resetPosition = function () {
  1057.                     this.getElementPos();
  1058.                     $(this.self).css({ "top": this.elementPos.top, "left": this.elementPos.left });
  1059.                 }
  1060.  
  1061.                 this.gravity = function () {
  1062.  
  1063.                     if (!this.hasgravity) {
  1064.  
  1065.                         return
  1066.                     }
  1067.  
  1068.                     var elBoundsInfo = getNearbyElements(this.self);
  1069.  
  1070.                     if (typeof getBoundingBox(elBoundsInfo.bottom.element) == "undefined" ||
  1071.                         typeof getBoundingBox(elBoundsInfo.top.element) == "undefined" ||
  1072.                         typeof getBoundingBox(elBoundsInfo.left.element) == "undefined" ||
  1073.                         typeof getBoundingBox(elBoundsInfo.right.element) == "undefined") {
  1074.  
  1075.  
  1076.                         return
  1077.                     }
  1078.                     var bottomPosition = getBoundingBox(elBoundsInfo.bottom.element).top;
  1079.                     this.checkCell(elBoundsInfo.bottom.element, "down");
  1080.  
  1081.                     if (isBackground($(elBoundsInfo.bottom.element).html()) && !mousedown) {
  1082.                         if (elBoundsInfo.bottom.element.nodeName == "TD") {
  1083.                             this.element = elBoundsInfo.bottom.element;
  1084.                         }
  1085.  
  1086.                         $(this.self).css(
  1087.                             {
  1088.                                 "top": bottomPosition
  1089.                             })
  1090.                         offset.top += cells.height;
  1091.                         falling = true;
  1092.                     }
  1093.                     else {
  1094.                         jumpInterval = 0
  1095.                         this.jumping = false;
  1096.                         falling = false;
  1097.                     }
  1098.                 }
  1099.  
  1100.                 this.jump = function () {
  1101.                     if (!this.jumping ) {
  1102.                         this.jumping = true;
  1103.                         var elBoundsInfo = getNearbyElements(this.self);
  1104.                         this.checkCell(elBoundsInfo.top.element, "up");
  1105.                         playsound("jump")
  1106.                         this.jumploop();
  1107.  
  1108.  
  1109.  
  1110.                     }
  1111.                 }
  1112.  
  1113.                 this.jumploop = function () {
  1114.                     if (jumpInterval < 3 || jumpInterval < 5 && keys.w ||fly && keys.w) {
  1115.                         if (!fly) {
  1116.                             jumping = true;
  1117.                         }
  1118.                         this.hasgravity = false
  1119.  
  1120.                         var elBoundsInfo = getNearbyElements(this.self);
  1121.                         if (typeof getBoundingBox(elBoundsInfo.bottom.element) == "undefined" ||
  1122.                             typeof getBoundingBox(elBoundsInfo.top.element) == "undefined" ||
  1123.                             typeof getBoundingBox(elBoundsInfo.left.element) == "undefined" ||
  1124.                             typeof getBoundingBox(elBoundsInfo.right.element) == "undefined") {
  1125.  
  1126.  
  1127.                             return
  1128.                         }
  1129.  
  1130.                         var bottomPosition = getBoundingBox(elBoundsInfo.bottom.element).top;
  1131.                         var topPosition = getBoundingBox(elBoundsInfo.top.element).top;
  1132.                         var rightPosition = getBoundingBox(elBoundsInfo.right.element).left;
  1133.                         var leftPosition = getBoundingBox(elBoundsInfo.left.element).left;
  1134.                         this.checkCell(elBoundsInfo.top.element, "up");
  1135.                         if (isBackground($(elBoundsInfo.top.element).html())) {
  1136.  
  1137.                             if (elBoundsInfo.bottom.element.nodeName == "TD") {
  1138.                                 this.element = elBoundsInfo.top.element;
  1139.                             }
  1140.  
  1141.                             $(this.self).css(
  1142.                                 {
  1143.                                     "top": topPosition
  1144.                                 })
  1145.                             offset.top -= cells.height;
  1146.                         }
  1147.                        
  1148.                             setTimeout(function () { _this.jumploop() }, playertickspeed)
  1149.                        
  1150.                     }
  1151.                     else {
  1152.                         this.hasgravity = true
  1153.                         jumping = false;
  1154.                     }
  1155.  
  1156.                     jumpInterval++
  1157.  
  1158.  
  1159.                 }
  1160.                 this.hurt = function () {
  1161.                     if (big) {
  1162.                         big = false;
  1163.                         playsound("powerdown");
  1164.                     }
  1165.                     else {
  1166.                         this.die();
  1167.                     }
  1168.                 }
  1169.                 this.die = function () {
  1170.                     playsound("die")
  1171.                     dying = true;
  1172.                     lifes--;
  1173.                     $("#lives")[0].innerText = lifes;
  1174.                     if (lifes <= 0) {
  1175.                         lifes = 0;
  1176.                         this.gameover();
  1177.  
  1178.                     }
  1179.                     setTimeout(function () { dying = false }, 1000)
  1180.                 }
  1181.                 this.gameover = function () {
  1182.                     music.pause();
  1183.                     gameover = true
  1184.  
  1185.                     $("#death-screen-overlay").removeClass("hide")
  1186.                 }
  1187.             }
  1188.             function clearElement(el, html) {
  1189.                 $(el).html(html);
  1190.             }
  1191.             function collect(el, type) {
  1192.                 if (type == "ↂ") {
  1193.                     big = true;
  1194.                     playsound("powerup");
  1195.                     powerUpList[0].destroy();
  1196.                 }
  1197.                 if (type == "▫") {
  1198.                     clearElement(el, "&nbsp;")
  1199.                     $(el).removeClass("m-coin");
  1200.                     points += 100;
  1201.                     playsound("coin");
  1202.                     coins++;
  1203.                     updatePoints();
  1204.                 }
  1205.                 if (type == "⚁") {
  1206.                     clearElement(el, "-")
  1207.                     $(el).removeClass("m-block-spin");
  1208.                     $(el).addClass("m-block-spinning");
  1209.                     setTimeout(function () {
  1210.                         $(el).removeClass("m-block-spinning");
  1211.                         $(el).addClass("m-block-spin");
  1212.                         clearElement(el, "⚁")
  1213.                     },6000)
  1214.                 }
  1215.                 if (type == "▢") {
  1216.                     clearElement(el, "▦")
  1217.                     $(el).removeClass("m-lucky");
  1218.                     $(el).addClass("m-block-dud");
  1219.  
  1220.                         var data = JSON.parse("{" + $(el).data("url").replace(/.*\/\//g, "") + "}");
  1221.                         if (typeof data.lives !== "undefined") {
  1222.                             lifes += parseInt(data.lives);
  1223.                             updateLifes();
  1224.                             playsound("1up")
  1225.                         }
  1226.                         if (typeof data.points !== "undefined") {
  1227.                             var pointPop = new PointPopup(parseInt(data.points));
  1228.                             pointPop.create();
  1229.                             playsound("coin");
  1230.                             updatePoints();
  1231.                         }
  1232.                         if (typeof data.message !== "undefined") {
  1233.                             messageBox(data.message, getBoundingBox(el))
  1234.                             playsound("message");
  1235.                         }
  1236.                         if (typeof data.spawn !== "undefined") {
  1237.                             if (data.spawn.toLowerCase() == "mushroom") {
  1238.                                 var elBoundsInfo = getNearbyElements(el);
  1239.                                 if (typeof getBoundingBox(elBoundsInfo.top.element) == "undefined") {return}
  1240.                                 var topPosition = getBoundingBox(elBoundsInfo.top.element).top;
  1241.                                 if (isBackground($(elBoundsInfo.top.element).html())) {
  1242.  
  1243.                                     if (elBoundsInfo.top.element.nodeName == "TD") {
  1244.                                         $(elBoundsInfo.top.element).addClass("m-mushroom-spawn");
  1245.                                         $(".m-mushroom-spawn").each(function () {
  1246.                     var mushroom = new PowerUp(this, "m-mushroom cell");
  1247.                     $(this).html("&nbsp;")
  1248.                     $(this).removeClass("m-mushroom-spawn");
  1249.                     mushroom.create();
  1250.                 })
  1251.                                     }
  1252.                                 }
  1253.                             }
  1254.                         }
  1255.                         keys.a = false;
  1256.                         keys.w = false;
  1257.                         keys.s = false;
  1258.                         keys.d = false;
  1259.                    
  1260.                     points += 100;
  1261.                     updatePoints();
  1262.                 }
  1263.  
  1264.                 if (type == "▣") {
  1265.                     clearElement(el, "▦")
  1266.                     $(el).removeClass("m-block-hidden");
  1267.                     $(el).addClass("m-block-dud");
  1268.                     points += 100;
  1269.                     updatePoints();
  1270.                     playsound("kick")
  1271.  
  1272.                 }
  1273.             }
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.            
  1284.  
  1285.  
  1286.  
  1287.  
  1288.             function isBackground(html) {
  1289.  
  1290.                 return (backgroundList.indexOf(html) > -1) || html.length < 1
  1291.             }
  1292.             function isCollectable(html) {
  1293.                 return (isCollectableList.indexOf(html) > -1) || html.length < 1
  1294.             }
  1295.             function isCollectFromBottomOnly(html) {
  1296.                 return (isCollectFromBottomOnlyList.indexOf(html) > -1) || html.length < 1
  1297.             }
  1298.  
  1299.             function isPainful(html) {
  1300.                 return (isPainfulList.indexOf(html) > -1) || html.length < 1
  1301.             }
  1302.             function isPlayer(html) {
  1303.                 return (isPlayerList.indexOf(html) > -1) || html.length < 1
  1304.             }
  1305.             function isTube(html) {
  1306.                 return (isTubeList.indexOf(html) > -1) || html.length < 1
  1307.             }
  1308.            
  1309.             function isEnemy(html) {
  1310.                 return (isEnemyList.indexOf(html) > -1) || html.length < 1
  1311.             }
  1312.             function getNearbyElements(el) {
  1313.                 var elementBounds = getBoundingBox($(el));
  1314.  
  1315.                 return elementBounds.nearby
  1316.             }
  1317.             // function that runs through each enemy and applies movements and gravity.
  1318.             function moveEnemies() {
  1319.                 enemiesList.forEach(function (enemy) {
  1320.                     enemy.move();
  1321.                     enemy.resetPosition();
  1322.                 });
  1323.             };
  1324.             function movePowerUps() {
  1325.                 powerUpList.forEach(function (powerUp) {
  1326.                     powerUp.move();
  1327.                     powerUp.resetPosition();
  1328.                 });
  1329.             };
  1330.            
  1331.             function movePlayer() {
  1332.                 playerList.forEach(function (player) {
  1333.  
  1334.                     player.move();
  1335.                     player.gravity();
  1336.                     player.resetPosition();
  1337.                 });
  1338.             };
  1339.             function getBoundingBox(el) {
  1340.                 if (typeof el == "undefined" || typeof $($(el))[0] == "undefined") {
  1341.                     return
  1342.                 }
  1343.  
  1344.                 var bounds = $($(el))[0].getBoundingClientRect();
  1345.                 var elementBoundingInformation =
  1346.                 {
  1347.                     width: bounds.width,
  1348.                     height: bounds.height,
  1349.                     bottom: bounds.top + bounds.height,
  1350.                     top: bounds.top,
  1351.                     left: bounds.left,
  1352.                     right: bounds.left + bounds.width,
  1353.                     center: { x: bounds.left + (bounds.width / 2), y: bounds.top + (bounds.height / 2) },
  1354.                     nearby:
  1355.                     {
  1356.                         bottom:
  1357.                         {
  1358.                             x: bounds.left + (bounds.width / 2),
  1359.                             y: bounds.top + bounds.height + (bounds.height / 2),
  1360.                             element: document.elementFromPoint(~~(bounds.left + (bounds.width / 2)), ~~(bounds.top + bounds.height + (bounds.height / 2)))
  1361.                         },
  1362.                         top:
  1363.                         {
  1364.                             x: bounds.left + (bounds.width / 2),
  1365.                             y: bounds.top - (bounds.height / 2),
  1366.                             element: document.elementFromPoint(~~(bounds.left + (bounds.width / 2)), ~~(bounds.top - (bounds.height / 2)))
  1367.                         },
  1368.                         left:
  1369.                         {
  1370.                             x: bounds.left - (bounds.width / 2),
  1371.                             y: bounds.top + (bounds.height / 2),
  1372.                             element: document.elementFromPoint(~~(bounds.left - (bounds.width / 2)), ~~(bounds.top + (bounds.height / 2)))
  1373.                         },
  1374.                         right:
  1375.                         {
  1376.                             x: bounds.right + (bounds.width / 2),
  1377.                             y: bounds.top + (bounds.height / 2),
  1378.                             element: document.elementFromPoint(~~(bounds.right + (bounds.width / 2)), ~~(bounds.top + (bounds.height / 2)))
  1379.                         }
  1380.                     }
  1381.                 }
  1382.                 return elementBoundingInformation
  1383.             }
  1384.             function isLanded(el) {
  1385.                 var elBoundsInfo = getNearbyElements(el);
  1386.                 return !isBackground($(elBoundsInfo.bottom.element).html())
  1387.             }
  1388.             function lerp(positionX, targetPositionX, speed) {
  1389.                 positionX += (targetPositionX - positionX) * speed;
  1390.                 return positionX
  1391.             }
  1392.             function moveMario() {
  1393.                 var elementPos = getBoundingBox($(mariosPositionTarget)[0])
  1394.                 $("#mario-target").css({ "top": elementPos.top, "left": elementPos.left });
  1395.             }
  1396.             function setLerpedPosition() {
  1397.                 $(".m-mario").css(
  1398.                     {
  1399.                         "top": getLerpedPosition().top,
  1400.                         "left": getLerpedPosition().left,
  1401.                     })
  1402.             }
  1403.             function getLerpedPosition() {
  1404.                 var marioPos =
  1405.                 {
  1406.  
  1407.                     left: lerp($(".m-mario").position().left, $(".mario-target").position().left, lerpSmoothness),
  1408.                     top: lerp($(".m-mario").position().top, $(".mario-target").position().top, lerpSmoothness)
  1409.                 }
  1410.  
  1411.                 return marioPos
  1412.             }
  1413.             this.getElementPos = function () {
  1414.                 this.elementPos = getBoundingBox(this.element);
  1415.             }
  1416.  
  1417.  
  1418.  
  1419.             function handleSprite() {
  1420.                 var currentSprite;
  1421.                 var targetPosition = $(".mario-target")[0].getBoundingClientRect();
  1422.                 var marioPosition = $(".m-mario")[0].getBoundingClientRect();
  1423.                 var distance = Math.abs(targetPosition.left - marioPosition.left)
  1424.  
  1425.                 if (distance * 10 <= 20) {
  1426.                     if (big) {
  1427.                         currentSprite = marioSprites.big.standing
  1428.                     }
  1429.                     else {
  1430.                         currentSprite = marioSprites.small.standing
  1431.                     }
  1432.                 }
  1433.                 if (distance * 10 > 20) {
  1434.                     if (big) {
  1435.                         currentSprite = marioSprites.big.walking
  1436.                     }
  1437.                     else {
  1438.                         currentSprite = marioSprites.small.walking
  1439.                     }
  1440.                 }
  1441.                 if (distance * 10 > 60) {
  1442.                     //currentSprite = marioSprites.running
  1443.                 }
  1444.                 if (jumping) {
  1445.                     if (big) {
  1446.                         currentSprite = marioSprites.big.jumping
  1447.                     }
  1448.                     else {
  1449.                         currentSprite = marioSprites.small.jumping
  1450.                     }
  1451.                 }
  1452.                 if (falling) {
  1453.                     if (big) {
  1454.                         currentSprite = marioSprites.big.falling
  1455.                     }
  1456.                     else {
  1457.                         currentSprite = marioSprites.small.falling
  1458.                     }
  1459.                 }
  1460.                 if (dying) {
  1461.                     if (big) {
  1462.                         currentSprite = marioSprites.big.dying
  1463.                     }
  1464.                     else {
  1465.                         currentSprite = marioSprites.small.dying
  1466.                     }
  1467.                 }
  1468.                 if (playerList[0].squatting) {
  1469.                     if (big) {
  1470.                         currentSprite = marioSprites.big.squatting
  1471.                     }
  1472.                     else {
  1473.                         currentSprite = marioSprites.small.squatting
  1474.                     }
  1475.                 }
  1476.  
  1477.                 $(".m-mario").css({ "background-image": currentSprite })
  1478.             }
  1479.             function messageBox(html, loc, offsetx = 2) {
  1480.                 $("#m-messagebox").html(html);
  1481.                 $("#m-messagebox").addClass("show");
  1482.                 $("#m-messagebox").css({
  1483.                     "top": loc.top - $("#m-messagebox").height(),
  1484.                     "left": loc.right + offsetx
  1485.                 })
  1486.                 setTimeout(function () {
  1487.                     $("#m-messagebox").removeClass("show")
  1488.                 }, 5000)
  1489.             }
  1490.             function scrollScreen() {
  1491.  
  1492.                     $("#yourworld").scrollLeft($("#yourworld").scrollLeft() + (offset.left * 0.005));
  1493.                     $("#yourworld").scrollTop($("#yourworld").scrollTop() + (offset.top * 0.005));
  1494.                     $(".mario-target").css(
  1495.                         {
  1496.                             "left": $(".mario-target").position().left - (offset.left * 0.005),
  1497.                             "top": $(".mario-target").position().top - (offset.top * 0.005),
  1498.                         })
  1499.                     offset.left -= (offset.left * 0.005)
  1500.                     offset.top -= (offset.top * 0.005)
  1501.  
  1502.                     setLerpedPosition();
  1503.                
  1504.             }
  1505.  
  1506.  
  1507.             function slowTick() {
  1508.                 if (gameover) { return }
  1509.                 setTimeout(function () {
  1510.                     if (!paused) {
  1511.                         styleSheet();
  1512.                         addInteractables();
  1513.                     }
  1514.                     setTimeout(function () { slowTick(); }, 2000)
  1515.  
  1516.                 }, 2000)
  1517.  
  1518.             }
  1519.  
  1520.  
  1521.  
  1522.             setInterval(function () {
  1523.  
  1524.                 if (gameover || paused) { return }
  1525.  
  1526.                 moveEnemies();
  1527.                 movePowerUps();
  1528.                 movePlayer();
  1529.                 handleSprite();
  1530.                 setLerpedPosition();
  1531.                 scrollScreen();
  1532.                 enemyTick_i++;
  1533.                
  1534.  
  1535.  
  1536.             }, playertickspeed)
  1537.  
  1538.          
  1539.  
  1540.  
  1541.             setTimeout(function () {
  1542.                 createDocument();
  1543.                 styleSheet();
  1544.                 addInteractables();
  1545.                 playsound("music")
  1546.                 setTimeout(function () {
  1547.                     slowTick();
  1548.                 }, 10)//moveEnemies
  1549.             }, 10)//stylesheet
  1550.             function lerp(positionX, targetPositionX, speed) {
  1551.                 positionX += (targetPositionX - positionX) * speed;
  1552.                 return positionX
  1553.             }
  1554.             function updatePoints() {
  1555.                 $("#points")[0].innerText = points;
  1556.                 $("#coins")[0].innerText = coins;
  1557.             }
  1558.             function updateLifes() {
  1559.                 $("#lives")[0].innerText = lifes;
  1560.             }
  1561.             function togglePause() {
  1562.                 if ($("#paused-overlay").hasClass("hide")) {
  1563.                     $("#paused-overlay").removeClass("hide");
  1564.                     playsound("pause");
  1565.                     music.pause();
  1566.                     paused = true
  1567.                 }
  1568.                 else {
  1569.                     $("#paused-overlay").addClass("hide")
  1570.                     if (!mute) {
  1571.                         playsound("pause");
  1572.                         music.play();
  1573.                     }
  1574.                     setMute();
  1575.                         paused = false;
  1576.                 }
  1577.             }
  1578.  
  1579.             $(document).on("keydown", function (e) {
  1580.                 mousedown = false
  1581.                 keys[e.key] = true;
  1582.                 if (e.key == "a" && !paused && !gameover) {
  1583.                     $(".m-mario").addClass("flippedX")
  1584.                 }
  1585.                 if (e.key == "d" && !paused && !gameover) {
  1586.                     $(".m-mario").removeClass("flippedX")
  1587.                 }
  1588.                 if (e.key == "w" && !paused && !gameover) {
  1589.                     playerList[0].jump();
  1590.                 }
  1591.                 if (e.key == "p" && !gameover) {
  1592.                     togglePause();
  1593.                    
  1594.                 }
  1595.                 e.preventDefault();
  1596.  
  1597.             });
  1598.             $(document).on("keyup", function (e) {
  1599.                 e.preventDefault();
  1600.  
  1601.                 keys[e.key] = false;
  1602.                 if (e.key == "w" && !paused && !gameover) {
  1603.                     playerList[0].hasgravity = true;
  1604.                     playerList[0].jumping = false;
  1605.                 }
  1606.                 if (e.key == "s" && !paused && !gameover) {
  1607.                     playerList[0].squatting = false;
  1608.                 }
  1609.  
  1610.  
  1611.             });
  1612.  
  1613.             $("#yourworld").on("mousedown", function () {
  1614.                
  1615.                 mousedown = true
  1616.  
  1617.             })
  1618.             $("#yourworld").on("mouseup", function () {
  1619.                 mousedown = false
  1620.  
  1621.             })
  1622.            
  1623.         })
  1624.     })
  1625. })(window.jQuery);
Add Comment
Please, Sign In to add comment