Файловый менеджер - Редактировать - /home/jogoso94/public_html/jogos/snake_game/js/init.js
�азад
(function () { var _0xd621x1; var _0xd621x2 = function () {}; var _0xd621x3 = ["assert", "clear", "count", "debug", "dir", "dirxml", "error", "exception", "group", "groupCollapsed", "groupEnd", "info", "log", "markTimeline", "profile", "profileEnd", "table", "time", "timeEnd", "timeStamp", "trace", "warn"]; var _0xd621x4 = _0xd621x3.length; var _0xd621x5 = window.console = window.console || {}; while (_0xd621x4--) { _0xd621x1 = _0xd621x3[_0xd621x4]; if (!_0xd621x5[_0xd621x1]) { _0xd621x5[_0xd621x1] = _0xd621x2; } } }()); function checkContentHeight(_0xd621x7) { var stageHeight = $(window).height(); var _0xd621x9 = stageHeight / 2 - _0xd621x7.height() / 2; return _0xd621x9; } function checkContentWidth(_0xd621x7) { var stageWidth = $(window).width(); var _0xd621xc = stageWidth / 2 - _0xd621x7.width() / 2; return _0xd621xc; } function getDeviceVer() { var _0xd621xe = navigator.userAgent; var _0xd621xf; if (_0xd621xe.match(/(iPad|iPhone|iPod touch)/)) { userOS = "iOS"; _0xd621xf = _0xd621xe.indexOf("OS "); } else { if (_0xd621xe.match(/Android/)) { userOS = "Android"; _0xd621xf = _0xd621xe.indexOf("Android "); } else { userOS = "unknown"; } } ; if (userOS === "iOS" && _0xd621xf > -1) { userOSver = _0xd621xe.substr(_0xd621xf + 3, 3).replace("_", "."); } else { if (userOS === "Android" && _0xd621xf > -1) { userOSver = _0xd621xe.substr(_0xd621xf + 8, 3); } else { userOSver = "unknown"; } } ; return Number(userOSver); } function shuffle(_0xd621x11) { var _0xd621x12 = _0xd621x11.length, _0xd621x13, _0xd621x14; while (0 !== _0xd621x12) { _0xd621x14 = Math.floor(Math.random() * _0xd621x12); _0xd621x12 -= 1; _0xd621x13 = _0xd621x11[_0xd621x12]; _0xd621x11[_0xd621x12] = _0xd621x11[_0xd621x14]; _0xd621x11[_0xd621x14] = _0xd621x13; } ; return _0xd621x11; } function getDistance(_0xd621x17, _0xd621x18, _0xd621x19, _0xd621x1a) { var _0xd621x1b = Math.sqrt(Math.pow(_0xd621x17 - _0xd621x19, 2) + Math.pow(_0xd621x18 - _0xd621x1a, 2)); return _0xd621x1b; } function sortOnObject(_0xd621x11, _0xd621x1d, _0xd621x1e) { if (_0xd621x1e) { _0xd621x11.sort(function (_0xd621x1f, _0xd621x20) { var _0xd621x21 = _0xd621x1f[_0xd621x1d], _0xd621x22 = _0xd621x20[_0xd621x1d]; if (_0xd621x21 == _0xd621x22) { return 0; } ; return _0xd621x21 < _0xd621x22 ? 1 : -1; }); } else { _0xd621x11.sort(function (_0xd621x1f, _0xd621x20) { var _0xd621x21 = _0xd621x1f[_0xd621x1d], _0xd621x22 = _0xd621x20[_0xd621x1d]; if (_0xd621x21 == _0xd621x22) { return 0; } ; return _0xd621x21 > _0xd621x22 ? 1 : -1; }); } ; return _0xd621x11; } function addCommas(_0xd621x27) { _0xd621x27 += ""; x = _0xd621x27.split("."); x1 = x[0]; x2 = x.length > 1 ? "." + x[1] : ""; var _0xd621x28 = /(\d+)(\d{3})/; while (_0xd621x28.test(x1)) { x1 = x1.replace(_0xd621x28, "$1,$2"); } ; return x1 + x2; } function swapArray(_0xd621x2a, _0xd621x2b, _0xd621x2c) { var _0xd621x2d = _0xd621x2a[_0xd621x2b]; _0xd621x2a[_0xd621x2b] = _0xd621x2a[_0xd621x2c]; _0xd621x2a[_0xd621x2c] = _0xd621x2d; } function getCenterPosition(_0xd621x2f, _0xd621x30, _0xd621x31, _0xd621x32) { var _0xd621x33 = {x: 0, y: 0}; _0xd621x33.x = (_0xd621x2f + _0xd621x31) / 2; _0xd621x33.y = (_0xd621x30 + _0xd621x32) / 2; return _0xd621x33; } var enableDesktopSound = true; var enableMobileSound = true; var soundOn; var soundMute = false; var musicMute = false; $.sound = {}; var soundID = 0; var soundPushArr = []; var soundLoopPushArr = []; var musicPushArr = []; function playSound(_0xd621x3e, _0xd621x3f) { if (soundOn) { var _0xd621x40 = soundID; soundPushArr.push(_0xd621x40); soundID++; var _0xd621x41 = _0xd621x3f == undefined ? 1 : _0xd621x3f; $.sound[_0xd621x40] = createjs.Sound.play(_0xd621x3e); $.sound[_0xd621x40].defaultVol = _0xd621x41; setSoundVolume(_0xd621x40); $.sound[_0xd621x40].removeAllEventListeners(); $.sound[_0xd621x40].addEventListener("complete", function () { var _0xd621x42 = soundPushArr.indexOf(_0xd621x40); if (_0xd621x42 != -1) { soundPushArr.splice(_0xd621x42, 1); } }); } } function playSoundLoop(_0xd621x3e) { if (soundOn) { if ($.sound[_0xd621x3e] == null) { soundLoopPushArr.push(_0xd621x3e); $.sound[_0xd621x3e] = createjs.Sound.play(_0xd621x3e); $.sound[_0xd621x3e].defaultVol = 1; setSoundLoopVolume(_0xd621x3e); $.sound[_0xd621x3e].removeAllEventListeners(); $.sound[_0xd621x3e].addEventListener("complete", function () { $.sound[_0xd621x3e].play(); }); } } } function toggleSoundLoop(_0xd621x3e, _0xd621x45) { if (soundOn) { if ($.sound[_0xd621x3e] != null) { if (_0xd621x45) { $.sound[_0xd621x3e].play(); } else { $.sound[_0xd621x3e].paused = true; } } } } function stopSoundLoop(_0xd621x3e) { if (soundOn) { if ($.sound[_0xd621x3e] != null) { $.sound[_0xd621x3e].stop(); $.sound[_0xd621x3e] = null; var _0xd621x47 = soundLoopPushArr.indexOf(_0xd621x3e); if (_0xd621x47 != -1) { soundLoopPushArr.splice(_0xd621x47, 1); } } } } function playMusicLoop(_0xd621x3e) { if (soundOn) { if ($.sound[_0xd621x3e] == null) { musicPushArr.push(_0xd621x3e); $.sound[_0xd621x3e] = createjs.Sound.play(_0xd621x3e); $.sound[_0xd621x3e].defaultVol = 1; setMusicVolume(_0xd621x3e); $.sound[_0xd621x3e].removeAllEventListeners(); $.sound[_0xd621x3e].addEventListener("complete", function () { $.sound[_0xd621x3e].play(); }); } } } function toggleMusicLoop(_0xd621x3e, _0xd621x45) { if (soundOn) { if ($.sound[_0xd621x3e] != null) { if (_0xd621x45) { $.sound[_0xd621x3e].play(); } else { $.sound[_0xd621x3e].paused = true; } } } } function stopMusicLoop(_0xd621x3e) { if (soundOn) { if ($.sound[_0xd621x3e] != null) { $.sound[_0xd621x3e].stop(); $.sound[_0xd621x3e] = null; var _0xd621x47 = musicPushArr.indexOf(_0xd621x3e); if (_0xd621x47 != -1) { musicPushArr.splice(_0xd621x47, 1); } } } } function stopSound() { createjs.Sound.stop(); } function toggleSoundInMute(_0xd621x45) { if (soundOn) { soundMute = _0xd621x45; for (var _0xd621x4d = 0; _0xd621x4d < soundPushArr.length; _0xd621x4d++) { setSoundVolume(soundPushArr[_0xd621x4d]); } ; for (var _0xd621x4d = 0; _0xd621x4d < soundLoopPushArr.length; _0xd621x4d++) { setSoundLoopVolume(soundLoopPushArr[_0xd621x4d]); } ; setAudioVolume(); } } function toggleMusicInMute(_0xd621x45) { if (soundOn) { musicMute = _0xd621x45; for (var _0xd621x4d = 0; _0xd621x4d < musicPushArr.length; _0xd621x4d++) { setMusicVolume(musicPushArr[_0xd621x4d]); } } } function setSoundVolume(_0xd621x50, _0xd621x3f) { if (soundOn) { var _0xd621x51 = soundPushArr.indexOf(_0xd621x50); if (_0xd621x51 != -1) { var _0xd621x41 = _0xd621x3f == undefined ? $.sound[soundPushArr[_0xd621x51]].defaultVol : _0xd621x3f; var _0xd621x52 = soundMute == false ? _0xd621x41 : 0; $.sound[soundPushArr[_0xd621x51]].volume = _0xd621x52; $.sound[soundPushArr[_0xd621x51]].defaultVol = _0xd621x41; } } } function setSoundLoopVolume(_0xd621x54, _0xd621x3f) { if (soundOn) { var _0xd621x47 = soundLoopPushArr.indexOf(_0xd621x54); if (_0xd621x47 != -1) { var _0xd621x41 = _0xd621x3f == undefined ? $.sound[soundLoopPushArr[_0xd621x47]].defaultVol : _0xd621x3f; var _0xd621x52 = soundMute == false ? _0xd621x41 : 0; $.sound[soundLoopPushArr[_0xd621x47]].volume = _0xd621x52; $.sound[soundLoopPushArr[_0xd621x47]].defaultVol = _0xd621x41; } } } function setMusicVolume(_0xd621x54, _0xd621x3f) { if (soundOn) { var _0xd621x56 = musicPushArr.indexOf(_0xd621x54); if (_0xd621x56 != -1) { var _0xd621x41 = _0xd621x3f == undefined ? $.sound[musicPushArr[_0xd621x56]].defaultVol : _0xd621x3f; var _0xd621x52 = musicMute == false ? _0xd621x41 : 0; $.sound[musicPushArr[_0xd621x56]].volume = _0xd621x52; $.sound[musicPushArr[_0xd621x56]].defaultVol = _0xd621x41; } } } var audioFile = null; function playAudio(_0xd621x59, _0xd621x5a) { if (soundOn) { if (audioFile == null) { audioFile = createjs.Sound.play(_0xd621x59); setAudioVolume(); audioFile.removeAllEventListeners(); audioFile.addEventListener("complete", function (_0xd621x5b) { audioFile = null; if (typeof _0xd621x5a == "function") { _0xd621x5a(); } }); } } } function stopAudio() { if (soundOn) { if (audioFile != null) { audioFile.stop(); audioFile = null; } } } function setAudioVolume() { if (soundOn) { if (audioFile != null) { var _0xd621x52 = soundMute == false ? 1 : 0; audioFile.volume = _0xd621x52; } } } var stage; var canvasW = 0; var canvasH = 0; function initGameCanvas(_0xd621x62, _0xd621x63) { var _0xd621x64 = document.getElementById("gameCanvas"); _0xd621x64.width = _0xd621x62; _0xd621x64.height = _0xd621x63; canvasW = _0xd621x62; canvasH = _0xd621x63; stage = new createjs.Stage("gameCanvas"); createjs.Touch.enable(stage); stage.enableMouseOver(20); stage.mouseMoveOutside = true; createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED; createjs.Ticker.framerate = 60; createjs.Ticker.addEventListener("tick", tick); } var guide = false; var canvasContainer, mainContainer, gameContainer, instructionContainer, resultContainer, moveContainer, confirmContainer; var guideline, bg, logo, buttonOk, result, shadowResult, buttonReplay, buttonFacebook, buttonTwitter, buttonWhatsapp, buttonFullscreen, buttonSoundOn, buttonSoundOff; $.radio = {}; $.touch = {}; function buildGameCanvas() { canvasContainer = new createjs.Container; mainContainer = new createjs.Container; themeContainer = new createjs.Container; adventureContainer = new createjs.Container; gameContainer = new createjs.Container; statusContainer = new createjs.Container; gridContainer = new createjs.Container; maskContainer = new createjs.Container; bgContainer = new createjs.Container; snakeContainer = new createjs.Container; strokeContainer = new createjs.Container; scoreContainer = new createjs.Container; brickContainer = new createjs.Container; touchContainer = new createjs.Container; brickStatusContainer = new createjs.Container; brickIconContainer = new createjs.Container; scoreStatusContainer = new createjs.Container; levelStatusContainer = new createjs.Container; resultContainer = new createjs.Container; touchContainer = new createjs.Container; touchMoveContainer = new createjs.Container; confirmContainer = new createjs.Container; bg = new createjs.Bitmap(loader.getResult("background")); bgP = new createjs.Bitmap(loader.getResult("backgroundP")); logo = new createjs.Bitmap(loader.getResult("logo")); logoP = new createjs.Bitmap(loader.getResult("logoP")); buttonClassic = new createjs.Bitmap(loader.getResult("buttonClassic")); centerReg(buttonClassic); buttonAdventure = new createjs.Bitmap(loader.getResult("buttonAdventure")); centerReg(buttonAdventure); buttonArrowL = new createjs.Bitmap(loader.getResult("buttonArrowL")); centerReg(buttonArrowL); buttonArrowR = new createjs.Bitmap(loader.getResult("buttonArrowR")); centerReg(buttonArrowR); buttonSelectTheme = new createjs.Bitmap(loader.getResult("buttonSelectTheme")); centerReg(buttonSelectTheme); themeContainer.addChild(buttonArrowL, buttonArrowR, buttonSelectTheme); itemAdventurePop = new createjs.Bitmap(loader.getResult("itemAdventurePop")); centerReg(itemAdventurePop); adventureTitleTxt = new createjs.Text; adventureTitleTxt.font = "75px bpreplaybold"; adventureTitleTxt.color = "#fff"; adventureTitleTxt.textAlign = "center"; adventureTitleTxt.textBaseline = "alphabetic"; adventureTitleTxt.text = textDisplay.adventureTitle; adventureTitleShadowTxt = new createjs.Text; adventureTitleShadowTxt.font = "75px bpreplaybold"; adventureTitleShadowTxt.color = "#883310"; adventureTitleShadowTxt.textAlign = "center"; adventureTitleShadowTxt.textBaseline = "alphabetic"; adventureTitleShadowTxt.text = textDisplay.adventureTitle; adventureSizeTxt = new createjs.Text; adventureSizeTxt.font = "40px bpreplaybold"; adventureSizeTxt.color = "#883310"; adventureSizeTxt.textAlign = "center"; adventureSizeTxt.textBaseline = "alphabetic"; adventureSizeTxt.text = textDisplay.adventureSize; adventureWallTxt = new createjs.Text; adventureWallTxt.font = "40px bpreplaybold"; adventureWallTxt.color = "#883310"; adventureWallTxt.textAlign = "center"; adventureWallTxt.textBaseline = "alphabetic"; adventureWallTxt.text = textDisplay.adventureWall; adventureBrickTxt = new createjs.Text; adventureBrickTxt.font = "40px bpreplaybold"; adventureBrickTxt.color = "#883310"; adventureBrickTxt.textAlign = "center"; adventureBrickTxt.textBaseline = "alphabetic"; adventureBrickTxt.text = textDisplay.adventureBrick; sizeTxt = new createjs.Text; sizeTxt.font = "40px bpreplaybold"; sizeTxt.color = "#883310"; sizeTxt.textAlign = "center"; sizeTxt.textBaseline = "alphabetic"; sizeTxt.text = textDisplay.share; itemNumberSize = new createjs.Bitmap(loader.getResult("itemNumber")); centerReg(itemNumberSize); buttonRowL = new createjs.Bitmap(loader.getResult("buttonMinus")); centerReg(buttonRowL); buttonRowR = new createjs.Bitmap(loader.getResult("buttonPlus")); centerReg(buttonRowR); buttonColumnL = new createjs.Bitmap(loader.getResult("buttonMinus")); centerReg(buttonColumnL); buttonColumnR = new createjs.Bitmap(loader.getResult("buttonPlus")); centerReg(buttonColumnR); buttonAdventureStart = new createjs.Bitmap(loader.getResult("buttonStart")); centerReg(buttonAdventureStart); adventureContainer.addChild(itemAdventurePop, adventureTitleShadowTxt, adventureTitleTxt, adventureBrickTxt, adventureWallTxt, adventureSizeTxt, buttonAdventureStart, itemNumberSize, buttonRowL, buttonRowR, buttonColumnL, buttonColumnR, sizeTxt); for (var _0xd621x4d = 0; _0xd621x4d < 2; _0xd621x4d++) { var _0xd621x7b = 44; var _0xd621x7c = 44; var _0xd621x7d = {regX: _0xd621x7b / 2, regY: _0xd621x7c / 2, height: _0xd621x7c, width: _0xd621x7b, count: 2}; var _0xd621x7e = {enable: {frames: [0]}, disable: {frames: [1]}}; var _0xd621x7f = new createjs.SpriteSheet({images: [loader.getResult("buttonRadio")], frames: _0xd621x7d, animations: _0xd621x7e}); $.radio[_0xd621x4d] = new createjs.Sprite(_0xd621x7f, "enable"); $.radio[_0xd621x4d].hitArea = new createjs.Shape((new createjs.Graphics).beginFill("#000").drawRect(-20, -25, 150, 50)); adventureContainer.addChild($.radio[_0xd621x4d]); } ; gridWall = new createjs.Shape; gridGround = new createjs.Shape; levelTxt = new createjs.Text; levelTxt.font = "35px bpreplaybold"; levelTxt.color = "#fff"; levelTxt.textAlign = "left"; levelTxt.textBaseline = "alphabetic"; levelShadowTxt = new createjs.Text; levelShadowTxt.font = "35px bpreplaybold"; levelShadowTxt.color = "#883310"; levelShadowTxt.textAlign = "left"; levelShadowTxt.textBaseline = "alphabetic"; levelShadowTxt.y = 5; levelStatusContainer.addChild(levelShadowTxt, levelTxt); pointTxt = new createjs.Text; pointTxt.font = "35px bpreplaybold"; pointTxt.color = "#fff"; pointTxt.textAlign = "center"; pointTxt.textBaseline = "alphabetic"; pointShadowTxt = new createjs.Text; pointShadowTxt.font = "35px bpreplaybold"; pointShadowTxt.color = "#883310"; pointShadowTxt.textAlign = "center"; pointShadowTxt.textBaseline = "alphabetic"; pointShadowTxt.y = 5; scoreStatusContainer.addChild(pointShadowTxt, pointTxt); brickTxt = new createjs.Text; brickTxt.font = "35px bpreplaybold"; brickTxt.color = "#fff"; brickTxt.textAlign = "left"; brickTxt.textBaseline = "alphabetic"; brickShadowTxt = new createjs.Text; brickShadowTxt.font = "35px bpreplaybold"; brickShadowTxt.color = "#883310"; brickShadowTxt.textAlign = "left"; brickShadowTxt.textBaseline = "alphabetic"; brickShadowTxt.y = 5; brickTxt.x = brickShadowTxt.x = 25; brickStatusContainer.addChild(brickIconContainer, brickShadowTxt, brickTxt); itemStatus = new createjs.Bitmap(loader.getResult("itemStatus")); centerReg(itemStatus); statusTxt = new createjs.Text; statusTxt.font = "35px bpreplaybold"; statusTxt.color = "#883310"; statusTxt.textAlign = "center"; statusTxt.textBaseline = "alphabetic"; statusTxt.y = 8; statusContainer.addChild(itemStatus, statusTxt); buttonTouch = new createjs.Bitmap(loader.getResult("buttonTouch")); centerReg(buttonTouch); buttonTouchMove = new createjs.Bitmap(loader.getResult("buttonTouchMove")); centerReg(buttonTouchMove); var _0xd621x80 = ["Up", "Right", "Down", "Left"]; var _0xd621x81 = [0, 90, 180, 270]; touchMoveContainer.addChild(buttonTouch); for (var _0xd621x4d = 0; _0xd621x4d < _0xd621x80.length; _0xd621x4d++) { $.touch[_0xd621x80[_0xd621x4d]] = new createjs.Bitmap(loader.getResult("buttonTouchPress")); centerReg($.touch[_0xd621x80[_0xd621x4d]]); $.touch[_0xd621x80[_0xd621x4d]].visible = false; $.touch["arrow" + _0xd621x80[_0xd621x4d]] = new createjs.Bitmap(loader.getResult("buttonTouchArrow")); centerReg($.touch["arrow" + _0xd621x80[_0xd621x4d]]); $.touch[_0xd621x80[_0xd621x4d]].regY = $.touch["arrow" + _0xd621x80[_0xd621x4d]].regY = $.touch[_0xd621x80[_0xd621x4d]].image.naturalHeight; $.touch["arrow" + _0xd621x80[_0xd621x4d]].rotation = $.touch[_0xd621x80[_0xd621x4d]].rotation = _0xd621x81[_0xd621x4d]; createHitarea($.touch["arrow" + _0xd621x80[_0xd621x4d]]); touchMoveContainer.addChild($.touch[_0xd621x80[_0xd621x4d]], $.touch["arrow" + _0xd621x80[_0xd621x4d]]); } ; touchMoveContainer.addChild(buttonTouchMove); touchContainer.addChild(touchMoveContainer); gridMask = new createjs.Shape; snakeStroke = new createjs.Shape; itemResult = new createjs.Bitmap(loader.getResult("itemPop")); itemResultP = new createjs.Bitmap(loader.getResult("itemPopP")); buttonContinue = new createjs.Bitmap(loader.getResult("buttonContinue")); centerReg(buttonContinue); resultShareTxt = new createjs.Text; resultShareTxt.font = "25px bpreplaybold"; resultShareTxt.color = "#883310"; resultShareTxt.textAlign = "center"; resultShareTxt.textBaseline = "alphabetic"; resultShareTxt.text = textDisplay.share; resultTitleTxt = new createjs.Text; resultTitleTxt.font = "75px bpreplaybold"; resultTitleTxt.color = "#fff"; resultTitleTxt.textAlign = "center"; resultTitleTxt.textBaseline = "alphabetic"; resultTitleTxt.text = textDisplay.resultTitle; resultTitleShadowTxt = new createjs.Text; resultTitleShadowTxt.font = "75px bpreplaybold"; resultTitleShadowTxt.color = "#883310"; resultTitleShadowTxt.textAlign = "center"; resultTitleShadowTxt.textBaseline = "alphabetic"; resultTitleShadowTxt.text = textDisplay.resultTitle; resultDescTxt = new createjs.Text; resultDescTxt.font = "55px bpreplaybold"; resultDescTxt.color = "#13ff00"; resultDescTxt.textAlign = "center"; resultDescTxt.textBaseline = "alphabetic"; resultDescTxt.text = ""; resultDescShadowTxt = new createjs.Text; resultDescShadowTxt.font = "55px bpreplaybold"; resultDescShadowTxt.color = "#883310"; resultDescShadowTxt.textAlign = "center"; resultDescShadowTxt.textBaseline = "alphabetic"; resultDescShadowTxt.text = ""; buttonFacebook = new createjs.Bitmap(loader.getResult("buttonFacebook")); buttonTwitter = new createjs.Bitmap(loader.getResult("buttonTwitter")); buttonWhatsapp = new createjs.Bitmap(loader.getResult("buttonWhatsapp")); centerReg(buttonFacebook); createHitarea(buttonFacebook); centerReg(buttonTwitter); createHitarea(buttonTwitter); centerReg(buttonWhatsapp); createHitarea(buttonWhatsapp); buttonFullscreen = new createjs.Bitmap(loader.getResult("buttonFullscreen")); centerReg(buttonFullscreen); buttonSoundOn = new createjs.Bitmap(loader.getResult("buttonSoundOn")); centerReg(buttonSoundOn); buttonSoundOff = new createjs.Bitmap(loader.getResult("buttonSoundOff")); centerReg(buttonSoundOff); buttonSoundOn.visible = false; buttonExit = new createjs.Bitmap(loader.getResult("buttonExit")); centerReg(buttonExit); buttonSettings = new createjs.Bitmap(loader.getResult("buttonSettings")); centerReg(buttonSettings); createHitarea(buttonFullscreen); createHitarea(buttonSoundOn); createHitarea(buttonSoundOff); createHitarea(buttonExit); createHitarea(buttonSettings); optionsContainer = new createjs.Container; optionsContainer.addChild(buttonFullscreen, buttonSoundOn, buttonSoundOff, buttonExit); optionsContainer.visible = false; itemExit = new createjs.Bitmap(loader.getResult("itemPop")); itemExitP = new createjs.Bitmap(loader.getResult("itemPopP")); buttonConfirm = new createjs.Bitmap(loader.getResult("buttonConfirm")); centerReg(buttonConfirm); buttonCancel = new createjs.Bitmap(loader.getResult("buttonCancel")); centerReg(buttonCancel); popTitleTxt = new createjs.Text; popTitleTxt.font = "75px bpreplaybold"; popTitleTxt.color = "#fff"; popTitleTxt.textAlign = "center"; popTitleTxt.textBaseline = "alphabetic"; popTitleTxt.text = textDisplay.exitTitle; popTitleShadowTxt = new createjs.Text; popTitleShadowTxt.font = "75px bpreplaybold"; popTitleShadowTxt.color = "#883310"; popTitleShadowTxt.textAlign = "center"; popTitleShadowTxt.textBaseline = "alphabetic"; popTitleShadowTxt.text = textDisplay.exitTitle; popDescTxt = new createjs.Text; popDescTxt.font = "35px bpreplaybold"; popDescTxt.lineHeight = 40; popDescTxt.color = "#883310"; popDescTxt.textAlign = "center"; popDescTxt.textBaseline = "alphabetic"; popDescTxt.text = textDisplay.exitMessage; confirmContainer.addChild(itemExit, itemExitP, popTitleShadowTxt, popTitleTxt, popDescTxt, buttonConfirm, buttonCancel); confirmContainer.visible = false; if (guide) { guideline = new createjs.Shape; guideline.graphics.setStrokeStyle(2).beginStroke("red").drawRect((stageW - contentW) / 2, (stageH - contentH) / 2, contentW, contentH); } ; mainContainer.addChild(logo, logoP, buttonClassic, buttonAdventure); maskContainer.addChild(snakeStroke, snakeContainer); gridContainer.addChild(gridWall, gridGround, bgContainer, scoreContainer, brickContainer, maskContainer); gameContainer.addChild(levelStatusContainer, brickStatusContainer, scoreStatusContainer, statusContainer, touchContainer); resultContainer.addChild(itemResult, itemResultP, buttonContinue, resultTitleShadowTxt, resultTitleTxt, resultDescShadowTxt, resultDescTxt); if (shareEnable) { resultContainer.addChild(resultShareTxt, buttonFacebook, buttonTwitter, buttonWhatsapp); } ; canvasContainer.addChild(bg, bgP, mainContainer, gridContainer, themeContainer, adventureContainer, gameContainer, resultContainer, confirmContainer, optionsContainer, buttonSettings, guideline); stage.addChild(canvasContainer); changeViewport(viewport.isLandscape); resizeGameFunc(); } function changeViewport(_0xd621x83) { if (_0xd621x83) { stageW = landscapeSize.w; stageH = landscapeSize.h; contentW = landscapeSize.cW; contentH = landscapeSize.cH; } else { stageW = portraitSize.w; stageH = portraitSize.h; contentW = portraitSize.cW; contentH = portraitSize.cH; } ; gameCanvas.width = stageW; gameCanvas.height = stageH; canvasW = stageW; canvasH = stageH; changeCanvasViewport(); } function changeCanvasViewport() { if (canvasContainer != undefined) { if (viewport.isLandscape) { bg.visible = true; bgP.visible = false; logo.visible = true; logoP.visible = false; if (adventureSettings.enable) { buttonClassic.x = canvasW / 2 - 140; buttonClassic.y = canvasH / 100 * 75; buttonAdventure.x = canvasW / 2 + 140; buttonAdventure.y = canvasH / 100 * 75; buttonAdventure.visible = true; } else { buttonClassic.x = canvasW / 2; buttonClassic.y = canvasH / 100 * 75; buttonAdventure.visible = false; } ; buttonArrowL.x = canvasW / 2 - 400; buttonArrowL.y = canvasH / 2; buttonArrowR.x = canvasW / 2 + 400; buttonArrowR.y = canvasH / 2; buttonSelectTheme.x = canvasW / 2; buttonSelectTheme.y = canvasH / 100 * 75; itemAdventurePop.x = canvasW / 2; itemAdventurePop.y = canvasH / 2; adventureTitleTxt.x = canvasW / 2; adventureTitleTxt.y = canvasH / 100 * 35; adventureTitleShadowTxt.x = canvasW / 2; adventureTitleShadowTxt.y = adventureTitleTxt.y + 10; buttonAdventureStart.x = canvasW / 2; buttonAdventureStart.y = canvasH / 100 * 68; buttonRowL.x = canvasW / 2 + 160 - 30; buttonRowR.x = canvasW / 2 + 160 + 30; buttonColumnL.x = canvasW / 2 - 160 - 30; buttonColumnR.x = canvasW / 2 - 160 + 30; adventureSizeTxt.x = canvasW / 2; adventureSizeTxt.y = canvasH / 100 * 43; itemNumberSize.x = canvasW / 2; sizeTxt.x = canvasW / 2; itemNumberSize.y = buttonRowL.y = buttonRowR.y = buttonColumnL.y = buttonColumnR.y = canvasH / 100 * 48; sizeTxt.y = itemNumberSize.y + 20; $.radio[0].x = canvasW / 2 - 150; $.radio[0].y = canvasH / 100 * 57; adventureWallTxt.x = $.radio[0].x + 80; adventureWallTxt.y = $.radio[0].y + 14; $.radio[1].x = canvasW / 2 + 50; $.radio[1].y = canvasH / 100 * 57; adventureBrickTxt.x = $.radio[1].x + 80; adventureBrickTxt.y = $.radio[1].y + 14; statusContainer.x = canvasW / 2; statusContainer.y = canvasH / 2; itemResult.visible = true; itemResultP.visible = false; buttonFacebook.x = canvasW / 100 * 43; buttonFacebook.y = canvasH / 100 * 55; buttonTwitter.x = canvasW / 2; buttonTwitter.y = canvasH / 100 * 55; buttonWhatsapp.x = canvasW / 100 * 57; buttonWhatsapp.y = canvasH / 100 * 55; buttonContinue.x = canvasW / 2; buttonContinue.y = canvasH / 100 * 68; resultShareTxt.x = canvasW / 2; resultShareTxt.y = canvasH / 100 * 49; resultTitleTxt.x = canvasW / 2; resultTitleTxt.y = canvasH / 100 * 35; resultTitleShadowTxt.x = resultTitleTxt.x; resultTitleShadowTxt.y = resultTitleTxt.y + 10; resultDescTxt.x = canvasW / 2; resultDescTxt.y = canvasH / 100 * 44; resultDescShadowTxt.x = resultDescTxt.x; resultDescShadowTxt.y = resultDescTxt.y + 8; itemExit.visible = true; itemExitP.visible = false; buttonConfirm.x = canvasW / 2; buttonConfirm.y = canvasH / 100 * 56; buttonCancel.x = canvasW / 2; buttonCancel.y = canvasH / 100 * 68; popTitleTxt.x = canvasW / 2; popTitleTxt.y = canvasH / 100 * 35; popTitleShadowTxt.x = popTitleTxt.x; popTitleShadowTxt.y = popTitleTxt.y + 10; popDescTxt.x = canvasW / 2; popDescTxt.y = canvasH / 100 * 43; } else { bg.visible = false; bgP.visible = true; logo.visible = false; logoP.visible = true; if (adventureSettings.enable) { buttonClassic.x = canvasW / 2; buttonClassic.y = canvasH / 100 * 73; buttonAdventure.x = canvasW / 2; buttonAdventure.y = canvasH / 100 * 85; buttonAdventure.visible = true; } else { buttonClassic.x = canvasW / 2; buttonClassic.y = canvasH / 100 * 75; buttonAdventure.visible = false; } ; buttonArrowL.x = canvasW / 2 - 250; buttonArrowL.y = canvasH / 2; buttonArrowR.x = canvasW / 2 + 250; buttonArrowR.y = canvasH / 2; buttonSelectTheme.x = canvasW / 2; buttonSelectTheme.y = canvasH / 100 * 85; itemAdventurePop.x = canvasW / 2; itemAdventurePop.y = canvasH / 2; adventureTitleTxt.x = canvasW / 2; adventureTitleTxt.y = canvasH / 100 * 38; adventureTitleShadowTxt.x = canvasW / 2; adventureTitleShadowTxt.y = adventureTitleTxt.y + 10; buttonAdventureStart.x = canvasW / 2; buttonAdventureStart.y = canvasH / 100 * 64; buttonRowL.x = canvasW / 2 + 160 - 30; buttonRowR.x = canvasW / 2 + 160 + 30; buttonColumnL.x = canvasW / 2 - 160 - 30; buttonColumnR.x = canvasW / 2 - 160 + 30; adventureSizeTxt.x = canvasW / 2; adventureSizeTxt.y = canvasH / 100 * 44; itemNumberSize.x = canvasW / 2; sizeTxt.x = canvasW / 2; itemNumberSize.y = buttonRowL.y = buttonRowR.y = buttonColumnL.y = buttonColumnR.y = canvasH / 100 * 49; sizeTxt.y = itemNumberSize.y + 20; $.radio[0].x = canvasW / 2 - 150; $.radio[0].y = canvasH / 100 * 56; adventureWallTxt.x = $.radio[0].x + 80; adventureWallTxt.y = $.radio[0].y + 14; $.radio[1].x = canvasW / 2 + 50; $.radio[1].y = canvasH / 100 * 56; adventureBrickTxt.x = $.radio[1].x + 80; adventureBrickTxt.y = $.radio[1].y + 14; statusContainer.x = canvasW / 2; statusContainer.y = canvasH / 2; itemResult.visible = false; itemResultP.visible = true; buttonFacebook.x = canvasW / 100 * 39; buttonFacebook.y = canvasH / 100 * 54; buttonTwitter.x = canvasW / 2; buttonTwitter.y = canvasH / 100 * 54; buttonWhatsapp.x = canvasW / 100 * 61; buttonWhatsapp.y = canvasH / 100 * 54; buttonContinue.x = canvasW / 2; buttonContinue.y = canvasH / 100 * 64; resultShareTxt.x = canvasW / 2; resultShareTxt.y = canvasH / 100 * 49; resultTitleTxt.x = canvasW / 2; resultTitleTxt.y = canvasH / 100 * 38; resultTitleShadowTxt.x = resultTitleTxt.x; resultTitleShadowTxt.y = resultTitleTxt.y + 10; resultDescTxt.x = canvasW / 2; resultDescTxt.y = canvasH / 100 * 45; resultDescShadowTxt.x = resultDescTxt.x; resultDescShadowTxt.y = resultDescTxt.y + 8; itemExit.visible = false; itemExitP.visible = true; buttonConfirm.x = canvasW / 2; buttonConfirm.y = canvasH / 100 * 55; buttonCancel.x = canvasW / 2; buttonCancel.y = canvasH / 100 * 64; popTitleTxt.x = canvasW / 2; popTitleTxt.y = canvasH / 100 * 38; popTitleShadowTxt.x = popTitleTxt.x; popTitleShadowTxt.y = popTitleTxt.y + 10; popDescTxt.x = canvasW / 2; popDescTxt.y = canvasH / 100 * 43; } } } function resizeCanvas() { if (canvasContainer != undefined) { buttonSettings.x = canvasW - offset.x - 50; buttonSettings.y = offset.y + 45; var _0xd621x86 = 60; var _0xd621x87 = 0; if (curPage != "game") { buttonExit.visible = false; buttonSoundOn.x = buttonSoundOff.x = buttonSettings.x; buttonSoundOn.y = buttonSoundOff.y = buttonSettings.y + _0xd621x86; buttonSoundOn.x = buttonSoundOff.x; buttonSoundOn.y = buttonSoundOff.y = buttonSettings.y + _0xd621x86; if (typeof buttonMusicOn != "undefined") { buttonMusicOn.x = buttonMusicOff.x = buttonSettings.x; buttonMusicOn.y = buttonMusicOff.y = buttonSettings.y + _0xd621x86 * 2; buttonMusicOn.x = buttonMusicOff.x; buttonMusicOn.y = buttonMusicOff.y = buttonSettings.y + _0xd621x86 * 2; _0xd621x87 = 2; } else { _0xd621x87 = 1; } ; buttonFullscreen.x = buttonSettings.x; buttonFullscreen.y = buttonSettings.y + _0xd621x86 * (_0xd621x87 + 1); } else { buttonExit.visible = true; buttonSoundOn.x = buttonSoundOff.x = buttonSettings.x; buttonSoundOn.y = buttonSoundOff.y = buttonSettings.y + _0xd621x86; buttonSoundOn.x = buttonSoundOff.x; buttonSoundOn.y = buttonSoundOff.y = buttonSettings.y + _0xd621x86; if (typeof buttonMusicOn != "undefined") { buttonMusicOn.x = buttonMusicOff.x = buttonSettings.x; buttonMusicOn.y = buttonMusicOff.y = buttonSettings.y + _0xd621x86 * 2; buttonMusicOn.x = buttonMusicOff.x; buttonMusicOn.y = buttonMusicOff.y = buttonSettings.y + _0xd621x86 * 2; _0xd621x87 = 2; } else { _0xd621x87 = 1; } ; buttonFullscreen.x = buttonSettings.x; buttonFullscreen.y = buttonSettings.y + _0xd621x86 * (_0xd621x87 + 1); buttonExit.x = buttonSettings.x; buttonExit.y = buttonSettings.y + _0xd621x86 * (_0xd621x87 + 2); } ; if (gameSettings.screenControlSide) { touchMoveContainer.x = canvasW - offset.x - 130; touchMoveContainer.y = canvasH - offset.y - 130; } else { touchMoveContainer.x = offset.x + 130; touchMoveContainer.y = canvasH - offset.y - 130; } ; resizeGrid(); } } function removeGameCanvas() { stage.autoClear = true; stage.removeAllChildren(); stage.update(); createjs.Ticker.removeEventListener("tick", tick); createjs.Ticker.removeEventListener("tick", stage); } function tick(_0xd621x5b) { updateGame(); stage.update(_0xd621x5b); } function centerReg(_0xd621x8b) { _0xd621x8b.regX = _0xd621x8b.image.naturalWidth / 2; _0xd621x8b.regY = _0xd621x8b.image.naturalHeight / 2; } function createHitarea(_0xd621x8b) { _0xd621x8b.hitArea = new createjs.Shape((new createjs.Graphics).beginFill("#000").drawRect(0, 0, _0xd621x8b.image.naturalWidth, _0xd621x8b.image.naturalHeight)); } var themesArr = [{src: "assets/snake_07.png", feed: "assets/snake_feed_07.png", brick: "assets/snake_brick_07.png", score: ["assets/snake_score_07.png"], stroke: {stroke: 15, color: "#7b552d", dashed: [12, 20], dashedColor: "#9A6B38"}, design: {wall: "#E19800", floor: "#FFC837"}}, {src: "assets/snake_06.png", feed: "assets/snake_feed_06.png", brick: "assets/snake_brick_06.png", score: ["assets/snake_score_06.png"], stroke: {stroke: 20, color: "#0060d3"}, design: {wall: "#39741C", floor: "#A2D532"}}, {src: "assets/snake_05.png", feed: "assets/snake_feed_05.png", brick: "assets/snake_brick_05.png", score: ["assets/snake_score_05.png"], design: {wall: "#724125", floor: "#2EA613"}}, {src: "assets/snake_04.png", feed: "assets/snake_feed_04.png", brick: "assets/snake_brick_04.png", score: ["assets/snake_score_03_a.png", "assets/snake_score_03_b.png", "assets/snake_score_03_c.png"], design: {wall: "#56558E", floor: "#B2B3F5"}}, {src: "assets/snake_03.png", feed: "assets/snake_feed_03.png", brick: "assets/snake_brick_03.png", score: ["assets/snake_score_03_a.png", "assets/snake_score_03_b.png", "assets/snake_score_03_c.png"], design: {wall: "#5B4E45", floor: "#837934"}}, {src: "assets/snake_02.png", feed: "assets/snake_feed_02.png", brick: "assets/snake_brick_02.png", score: ["assets/snake_score_02.png"], design: {wall: "#000", floor: "#94D300"}}, {src: "assets/snake_01.png", feed: "assets/snake_feed_01.png", brick: "assets/snake_brick_01.png", score: ["assets/snake_score_01.png"], stroke: {stroke: 30, color: "#000"}, design: {wall: "#556642", floor: "#85A166"}}, {src: "assets/snake_00.png", feed: "assets/snake_feed_00.png", brick: "assets/snake_brick_00.png", score: ["assets/snake_score_00.png"], design: {wall: "#000", floor: "#abcc9a"}}]; var defaultSettings = {row: 12, column: 19, wall: false, brick: true}; var adventureSettings = {enable: true, rowMin: 10, rowMax: 30, columnMin: 10, columnMax: 30, wall: true, brick: true}; var textDisplay = {adventureTitle: "ADVENTURE", adventureSize: "Grid Size", adventureWall: "WALL", adventureBrick: "BRICK", gridSize: "[COLUMN] x [ROW]", point: "SCORE : [NUMBER]", level: "LVL : [NUMBER]", brick: ": [NUMBER]", gameover: "GAME OVER", exitTitle: "EXIT GAME", exitMessage: "Are you sure you want\nto quit game?", share: "Share your score:", resultTitle: "GAME OVER", resultDesc: "[NUMBER]"}; var shareEnable = true; var shareTitle = "Highscore on Snake Game is [SCORE]"; var shareMessage = "[SCORE] is mine new highscore on Snake Game! Try it now!"; var playerData = {score: 0, level: 0, brick: 0}; var gameData = {paused: true, themeNum: 0, type: "classic", control: false, adventure: {row: 0, column: 0, wall: false, brick: false}, settings: {}, grid: [], area: [], snake: [], snakeFeed: [], score: [], brick: [], level: {speed: 0, speedTimes: 0, brickTimes: 0}, dir: "", nextDir: "", increase: false, complete: false}; let gameSettings = {gridSize: 40, wallSize: 10, showScreenControl: true, screenControlSide: true, screenControlAlpha: 0.6, keyboard: {up: [87, 38], left: [65, 37], right: [68, 39], down: [83, 40]}, snakeLength: 2, level: {speed: 200, speedTimes: 3, speedIncrease: 10, score: 100, brickTimes: gameData.adventure.brick ? 3 : 999999}}; setInterval(()=>{ gameSettings = {gridSize: 40, wallSize: 10, showScreenControl: true, screenControlSide: true, screenControlAlpha: 0.6, keyboard: {up: [87, 38], left: [65, 37], right: [68, 39], down: [83, 40]}, snakeLength: 2, level: {speed: 200, speedTimes: 3, speedIncrease: 10, score: 100, brickTimes: gameData.adventure.brick ? 3 : 999999}}; },10); var tweenData = {score: 0, tweenScore: 0}; function buildGameButton() { $(window).focus(function () { if (!buttonSoundOn.visible) { toggleSoundInMute(false); } ; if (typeof buttonMusicOn != "undefined") { if (!buttonMusicOn.visible) { toggleMusicInMute(false); } } }); $(window).blur(function () { if (!buttonSoundOn.visible) { toggleSoundInMute(true); } ; if (typeof buttonMusicOn != "undefined") { if (!buttonMusicOn.visible) { toggleMusicInMute(true); } } }); if ($.browser.mobile || isTablet) {} else { var _0xd621x99 = window.location != window.parent.location ? true : false; if (_0xd621x99) { this.document.onkeydown = keydown; this.document.onkeyup = keyup; $(window).blur(function () { appendFocusFrame(); }); appendFocusFrame(); } else { this.document.onkeydown = keydown; this.document.onkeyup = keyup; } } ; buttonClassic.cursor = "pointer"; buttonClassic.addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); gameData.type = "classic"; goPage("theme"); }); buttonAdventure.cursor = "pointer"; buttonAdventure.addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); gameData.type = "adventure"; goPage("theme"); }); buttonArrowL.cursor = "pointer"; buttonArrowL.addEventListener("click", function (_0xd621x9a) { playSound("soundButton2"); toggleTheme(false); }); buttonArrowR.cursor = "pointer"; buttonArrowR.addEventListener("click", function (_0xd621x9a) { playSound("soundButton2"); toggleTheme(true); }); buttonSelectTheme.cursor = "pointer"; buttonSelectTheme.addEventListener("click", function (_0xd621x9a) { playSound("soundButton2"); if (gameData.type == "classic") { goPage("game"); } else { goPage("adventure"); } }); buttonRowL.cursor = "pointer"; buttonRowL.addEventListener("click", function (_0xd621x9a) { playSound("soundButton2"); toggleAdventureRow(false); }); buttonRowR.cursor = "pointer"; buttonRowR.addEventListener("click", function (_0xd621x9a) { playSound("soundButton2"); toggleAdventureRow(true); }); buttonColumnL.cursor = "pointer"; buttonColumnL.addEventListener("click", function (_0xd621x9a) { playSound("soundButton2"); toggleAdventureColumn(false); }); buttonColumnR.cursor = "pointer"; buttonColumnR.addEventListener("click", function (_0xd621x9a) { playSound("soundButton2"); toggleAdventureColumn(true); }); buttonAdventureStart.cursor = "pointer"; buttonAdventureStart.addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); goPage("game"); }); itemExit.addEventListener("click", function (_0xd621x9a) {}); buttonContinue.cursor = "pointer"; buttonContinue.addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); goPage("main"); }); buttonFacebook.cursor = "pointer"; buttonFacebook.addEventListener("click", function (_0xd621x9a) { share("facebook"); }); buttonTwitter.cursor = "pointer"; buttonTwitter.addEventListener("click", function (_0xd621x9a) { share("twitter"); }); buttonWhatsapp.cursor = "pointer"; buttonWhatsapp.addEventListener("click", function (_0xd621x9a) { share("whatsapp"); }); buttonSoundOff.cursor = "pointer"; buttonSoundOff.addEventListener("click", function (_0xd621x9a) { toggleSoundMute(true); }); buttonSoundOn.cursor = "pointer"; buttonSoundOn.addEventListener("click", function (_0xd621x9a) { toggleSoundMute(false); }); if (typeof buttonMusicOff != "undefined") { buttonMusicOff.cursor = "pointer"; buttonMusicOff.addEventListener("click", function (_0xd621x9a) { toggleMusicMute(true); }); } ; if (typeof buttonMusicOn != "undefined") { buttonMusicOn.cursor = "pointer"; buttonMusicOn.addEventListener("click", function (_0xd621x9a) { toggleMusicMute(false); }); } ; buttonFullscreen.cursor = "pointer"; buttonFullscreen.addEventListener("click", function (_0xd621x9a) { toggleFullScreen(); }); buttonExit.cursor = "pointer"; buttonExit.addEventListener("click", function (_0xd621x9a) { togglePop(true); toggleOption(); }); buttonSettings.cursor = "pointer"; buttonSettings.addEventListener("click", function (_0xd621x9a) { toggleOption(); }); buttonConfirm.cursor = "pointer"; buttonConfirm.addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); togglePop(false); stopAudio(); stopGame(); goPage("main"); }); buttonCancel.cursor = "pointer"; buttonCancel.addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); togglePop(false); }); $.radio[0].cursor = "pointer"; $.radio[0].addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); toggleRadio("wall"); }); $.radio[1].cursor = "pointer"; $.radio[1].addEventListener("click", function (_0xd621x9a) { playSound("soundButton"); toggleRadio("brick"); }); gameData.adventure.column = adventureSettings.columnMin; gameData.adventure.row = adventureSettings.rowMin; gameData.adventure.wall = adventureSettings.wall; gameData.adventure.brick = adventureSettings.brick; if (adventureSettings.wall) { $.radio[0].gotoAndStop("enable"); } else { $.radio[0].gotoAndStop("disable"); } ; if (adventureSettings.brick) { $.radio[1].gotoAndStop("enable"); } else { $.radio[1].gotoAndStop("disable"); } ; checkAdventureSettings(); setupTouchControl(); preventScrolling(); } function preventScrolling() { var _0xd621x9c = [32, 38, 37, 40, 39]; $(window).on("keydown", function (_0xd621x5b) { if (_0xd621x9c.indexOf(_0xd621x5b.keyCode) != -1) { _0xd621x5b.preventDefault(); } }); } function appendFocusFrame() { $("#mainHolder").prepend('<div id="focus" style="position:absolute; width:100%; height:100%; z-index:1000;"></div'); $("#focus").click(function () { $("#focus").remove(); }); } function keydown(_0xd621x5b) { if (gameSettings.keyboard.left.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.left = true; } else { if (gameSettings.keyboard.right.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.right = true; } else { if (gameSettings.keyboard.up.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.up = true; } else { if (gameSettings.keyboard.down.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.down = true; } } } } } function keyup(_0xd621x5b) { if (gameSettings.keyboard.left.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.left = false; } else { if (gameSettings.keyboard.right.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.right = false; } else { if (gameSettings.keyboard.up.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.up = false; } else { if (gameSettings.keyboard.down.indexOf(_0xd621x5b.keyCode) != -1) { gameData.moveControl.down = false; } } } } } function toggleRadio(_0xd621x45) { if (gameData.adventure[_0xd621x45]) { gameData.adventure[_0xd621x45] = false; } else { gameData.adventure[_0xd621x45] = true; } ; var _0xd621xa1 = _0xd621x45 == "wall" ? 0 : 1; if (gameData.adventure[_0xd621x45]) { $.radio[_0xd621xa1].gotoAndStop("enable"); } else { $.radio[_0xd621xa1].gotoAndStop("disable"); } } function toggleTheme(_0xd621x45) { if (_0xd621x45) { gameData.themeNum++; gameData.themeNum = gameData.themeNum > themesArr.length - 1 ? 0 : gameData.themeNum; } else { gameData.themeNum--; gameData.themeNum = gameData.themeNum < 0 ? themesArr.length - 1 : gameData.themeNum; } ; buildGrid(); } function toggleAdventureRow(_0xd621x45) { if (_0xd621x45) { gameData.adventure.row++; gameData.adventure.row = gameData.adventure.row > adventureSettings.rowMax ? adventureSettings.rowMax : gameData.adventure.row; } else { gameData.adventure.row--; gameData.adventure.row = gameData.adventure.row < adventureSettings.rowMin ? adventureSettings.rowMin : gameData.adventure.row; } ; checkAdventureSettings(); } function toggleAdventureColumn(_0xd621x45) { if (_0xd621x45) { gameData.adventure.column++; gameData.adventure.column = gameData.adventure.column > adventureSettings.columnMax ? adventureSettings.columnMax : gameData.adventure.column; } else { gameData.adventure.column--; gameData.adventure.column = gameData.adventure.column < adventureSettings.columnMin ? adventureSettings.columnMin : gameData.adventure.column; } ; checkAdventureSettings(); } function checkAdventureSettings() { var _0xd621xa6 = textDisplay.gridSize.replace("[COLUMN]", gameData.adventure.column); _0xd621xa6 = _0xd621xa6.replace("[ROW]", gameData.adventure.row); sizeTxt.text = _0xd621xa6; } function togglePop(_0xd621x45) { confirmContainer.visible = _0xd621x45; } var curPage = ""; function goPage(_0xd621xaa) { curPage = _0xd621xaa; mainContainer.visible = false; themeContainer.visible = false; adventureContainer.visible = false; gridContainer.visible = false; gameContainer.visible = false; resultContainer.visible = false; stopGame(); var _0xd621xab = null; switch (_0xd621xaa) { case "main": _0xd621xab = mainContainer; break; case "theme": _0xd621xab = themeContainer; gridContainer.visible = true; gameData.settings = {row: 15, column: 15, wall: defaultSettings.wall, brick: defaultSettings.brick}; gameData.paused = false; buildGrid(); break; case "adventure": _0xd621xab = adventureContainer; break; case "game": _0xd621xab = gameContainer; gridContainer.visible = true; startGame(); break; case "result": _0xd621xab = resultContainer; stopGame(); togglePop(false); playSound("soundResult"); tweenData.tweenScore = 0; TweenMax.to(tweenData, 0.5, {tweenScore: playerData.score, overwrite: true, onUpdate: function () { resultDescTxt.text = resultDescShadowTxt.text = textDisplay.resultDesc.replace("[NUMBER]", addCommas(Math.floor(tweenData.tweenScore))); }}); saveGame(playerData.score); break; } ; if (_0xd621xab != null) { _0xd621xab.visible = true; _0xd621xab.alpha = 0; TweenMax.to(_0xd621xab, 0.5, {alpha: 1, overwrite: true}); } ; resizeCanvas(); } function startGame() { gameData.paused = false; gameData.complete = false; gameData.control = true; gameData.moveControl = {left: false, right: false, up: false, down: false}; if (gameData.type == "classic") { gameData.settings = {row: defaultSettings.row, column: defaultSettings.column, wall: defaultSettings.wall, brick: defaultSettings.brick}; } else { gameData.settings = {row: gameData.adventure.row, column: gameData.adventure.column, wall: gameData.adventure.wall, brick: gameData.adventure.brick}; } ; brickContainer.removeAllChildren(); gameData.brick = []; statusContainer.alpha = 0; buildGrid(); updateBrickIcon(); updateGameStats(); playSound("soundStart"); touchContainer.visible = false; if (gameSettings.showScreenControl) { touchContainer.visible = true; touchContainer.alpha = gameSettings.screenControlAlpha; } else { if ($.browser.mobile || isTablet) { touchContainer.visible = true; touchContainer.alpha = gameSettings.screenControlAlpha; } } } function setupSnakeLevel() { tweenData.tweenScore = 0; playerData.score = 0; playerData.level = 0; playerData.brick = 0; gameData.level.speed = gameSettings.level.speed; gameData.level.speedTimes = 0; gameData.level.brickTimes = 0; } function stopGame() { gameData.paused = true; gameData.control = false; TweenMax.killAll(false, true, false); } function saveGame(_0xd621xb0) { if (typeof toggleScoreboardSave == "function") { $.scoreData.score = _0xd621xb0; if (typeof type != "undefined") { $.scoreData.type = type; } ; toggleScoreboardSave(true); } } function buildGrid() { bgContainer.removeAllChildren(); bgContainer.removeAllChildren(); brickContainer.removeAllChildren(); gameData.grid = []; gameData.area = []; var _0xd621xb2 = {x: 0, y: 0}; var _0xd621xa6 = gameSettings.gridSize; for (var _0xd621xb3 = 0; _0xd621xb3 < gameData.settings.row; _0xd621xb3++) { gameData.grid.push([]); gameData.area.push([]); for (var _0xd621xb4 = 0; _0xd621xb4 < gameData.settings.column; _0xd621xb4++) { var _0xd621xb5 = new createjs.Shape; _0xd621xb5.graphics.beginFill(themesArr[gameData.themeNum].design.floor).drawRect(-(_0xd621xa6 / 2), -(_0xd621xa6 / 2), _0xd621xa6 + 1, _0xd621xa6 + 1); _0xd621xb5.x = _0xd621xb2.x; _0xd621xb5.y = _0xd621xb2.y; _0xd621xb5.visible = false; bgContainer.addChild(_0xd621xb5); _0xd621xb2.x += _0xd621xa6; gameData.grid[_0xd621xb3][_0xd621xb4] = _0xd621xb5; gameData.area[_0xd621xb3][_0xd621xb4] = 0; } ; _0xd621xb2.x = 0; _0xd621xb2.y += _0xd621xa6; } ; gameData.settings.width = gameData.settings.column * _0xd621xa6 - _0xd621xa6; gameData.settings.height = gameData.settings.row * _0xd621xa6 - _0xd621xa6; gridWall.graphics.clear(); gridGround.graphics.clear(); gridMask.graphics.clear(); gridWall.graphics.beginFill(themesArr[gameData.themeNum].design.wall).drawRect(-(gameSettings.wallSize + _0xd621xa6 / 2), -(gameSettings.wallSize + _0xd621xa6 / 2), gameData.settings.width + _0xd621xa6 + gameSettings.wallSize * 2, gameData.settings.height + _0xd621xa6 + gameSettings.wallSize * 2); gridGround.graphics.beginFill(themesArr[gameData.themeNum].design.floor).drawRect(-(_0xd621xa6 / 2), -(_0xd621xa6 / 2), gameData.settings.width + _0xd621xa6, gameData.settings.height + _0xd621xa6); gridMask.graphics.beginFill("red").drawRect(0, 0, gameData.settings.column * _0xd621xa6, gameData.settings.row * _0xd621xa6); gridMask.x = -(_0xd621xa6 / 2); gridMask.y = -(_0xd621xa6 / 2); maskContainer.mask = gridMask; gameData.dir = gameData.nextDir = "right"; setupSnakeLevel(); createSnake(); insertType("score"); if (curPage == "theme") { var _0xd621xb6 = gameData.snake[0].row; for (var _0xd621x4d = 0; _0xd621x4d < 10; _0xd621x4d++) { insertType("brick", _0xd621xb6); } } ; resizeGrid(); toggleLoopSnake(true); } function resizeGrid() { gridContainer.scaleX = gridContainer.scaleY = 1; var _0xd621xb8 = 450; var _0xd621xb9 = 780; if (!viewport.isLandscape) { _0xd621xb8 = 750; _0xd621xb9 = 530; } ; var _0xd621xba = 1; var _0xd621xbb = 1; if (gameData.settings.height > _0xd621xb8) { _0xd621xbb = _0xd621xb8 / gameData.settings.height; } ; if (gameData.settings.width > _0xd621xb9) { _0xd621xba = _0xd621xb9 / gameData.settings.width; } ; if (_0xd621xba < _0xd621xbb) { gridContainer.scaleX = gridContainer.scaleY = _0xd621xba; } else { gridContainer.scaleX = gridContainer.scaleY = _0xd621xbb; } ; var _0xd621xbc = gridContainer.scaleX; var _0xd621xa6 = gameSettings.gridSize * _0xd621xbc; var _0xd621xbd = gameSettings.wallSize * _0xd621xbc; gridContainer.x = canvasW / 2 - gameData.settings.width * _0xd621xbc / 2; gridContainer.y = canvasH / 2 - gameData.settings.height * _0xd621xbc / 2; levelStatusContainer.x = canvasW / 2 - (gameData.settings.width * _0xd621xbc / 2 + _0xd621xa6 / 2); levelStatusContainer.y = canvasH / 2 - (gameData.settings.height * _0xd621xbc / 2 + (_0xd621xa6 / 2 + _0xd621xbd + 10)); brickStatusContainer.x = levelStatusContainer.x + 160; brickStatusContainer.y = levelStatusContainer.y; scoreStatusContainer.x = canvasW / 2; scoreStatusContainer.y = canvasH / 2 + (gameData.settings.height * _0xd621xbc / 2 + (_0xd621xa6 / 2 + _0xd621xbd + 35)); } function createSnake() { snakeContainer.removeAllChildren(); gameData.snake = []; gameData.snakeFeed = []; gameData.increase = false; var _0xd621xbf = gameSettings.snakeLength; _0xd621xbf = _0xd621xbf > gameData.settings.column ? gameData.settings.column - 2 : _0xd621xbf; var _0xd621xc0 = Math.floor(gameData.settings.row / 2); var _0xd621xc1 = Math.floor(gameData.settings.column / 2) + Math.floor(_0xd621xbf / 2); for (var _0xd621x4d = 0; _0xd621x4d < _0xd621xbf; _0xd621x4d++) { var _0xd621xc2 = createSnakeShape(); gameData.snake.push(_0xd621xc2); gameData.area[_0xd621xc0][_0xd621xc1] = 1; _0xd621xc2.x = gameData.grid[_0xd621xc0][_0xd621xc1].x; _0xd621xc2.y = gameData.grid[_0xd621xc0][_0xd621xc1].y; _0xd621xc2.base = {x: _0xd621xc2.x, y: _0xd621xc2.y}; _0xd621xc2.row = _0xd621xc0; _0xd621xc2.column = _0xd621xc1; _0xd621xc1--; } ; checkSnakeRotation(); } function createSnakeShape() { var _0xd621xc4 = 1; var _0xd621x7b = 42; var _0xd621x7c = 42; var _0xd621x7d = {regX: _0xd621x7b / 2, regY: _0xd621x7c / 2, height: _0xd621x7c, width: _0xd621x7b, count: 6}; var _0xd621x7e = {idle: {frames: [0], speed: _0xd621xc4}, tongue: {frames: [1], speed: _0xd621xc4}, eat: {frames: [2], speed: _0xd621xc4}, body: {frames: [3], speed: _0xd621xc4}, bodybend: {frames: [4], speed: _0xd621xc4}, tail: {frames: [5], speed: _0xd621xc4}}; var _0xd621xc5 = new createjs.SpriteSheet({images: [loader.getResult("snake" + gameData.themeNum)], frames: _0xd621x7d, animations: _0xd621x7e}); var _0xd621xc2 = new createjs.Sprite(_0xd621xc5, "idle"); snakeContainer.addChild(_0xd621xc2); return _0xd621xc2; } function insertType(_0xd621xc7, _0xd621xc8) { if (_0xd621xc7 == "score") { if (gameData.score.length > 0) { TweenMax.killTweensOf(gameData.score[0]); } ; scoreContainer.removeAllChildren(); gameData.score = []; } ; var _0xd621xc9 = []; for (var _0xd621xb3 = 0; _0xd621xb3 < gameData.settings.row; _0xd621xb3++) { for (var _0xd621xb4 = 0; _0xd621xb4 < gameData.settings.column; _0xd621xb4++) { if (gameData.area[_0xd621xb3][_0xd621xb4] == 0) { var _0xd621xca = false; if (_0xd621xc8 != undefined) { if (_0xd621xc8 == _0xd621xb3) { _0xd621xca = true; } } ; if (!_0xd621xca) { _0xd621xc9.push({r: _0xd621xb3, c: _0xd621xb4}); } } } } ; shuffle(_0xd621xc9); var _0xd621xcb; var _0xd621xcc = 2; if (_0xd621xc7 == "score") { var _0xd621xcd = Math.floor(Math.random() * themesArr[gameData.themeNum].score.length); _0xd621xcb = new createjs.Bitmap(loader.getResult("snakeScore" + _0xd621xcd + "_" + gameData.themeNum)); centerReg(_0xd621xcb); scoreContainer.addChild(_0xd621xcb); gameData.score.push(_0xd621xcb); animateScore(_0xd621xcb); } else { _0xd621xcc = 3; _0xd621xcb = new createjs.Bitmap(loader.getResult("snakeBrick" + gameData.themeNum)); centerReg(_0xd621xcb); brickContainer.addChild(_0xd621xcb); gameData.brick.push(_0xd621xcb); if (curPage == "game") { playSound("soundBrick"); } } ; gameData.area[_0xd621xc9[0].r][_0xd621xc9[0].c] = _0xd621xcc; _0xd621xcb.x = gameData.grid[_0xd621xc9[0].r][_0xd621xc9[0].c].x; _0xd621xcb.y = gameData.grid[_0xd621xc9[0].r][_0xd621xc9[0].c].y; } function animateScore(_0xd621x8b) { var _0xd621xcf = 0.3; TweenMax.to(_0xd621x8b, _0xd621xcf, {scaleX: 0.7, scaleY: 0.7, overwrite: true, onComplete: function () { TweenMax.to(_0xd621x8b, _0xd621xcf, {scaleX: 1, scaleY: 1, overwrite: true, onComplete: animateScore, onCompleteParams: [_0xd621x8b]}); }}); } function checkSnakeRotation() { for (var _0xd621x4d = 0; _0xd621x4d < gameData.snake.length; _0xd621x4d++) { var _0xd621xd1 = gameData.snake[_0xd621x4d]; getSnakeRotation(_0xd621x4d, _0xd621xd1); } } function getSnakeRotation(_0xd621xd3, _0xd621xd1) { var _0xd621xd4 = gameSettings.gridSize; _0xd621xd1.rotation = 0; _0xd621xd1.scaleX = _0xd621xd1.scaleY = 1; if (_0xd621xd3 == 0) { if (gameData.nextDir == "right") { _0xd621xd1.scaleX = -1; _0xd621xd1.rotation = 90; } else { if (gameData.nextDir == "down") { _0xd621xd1.rotation = 180; } else { if (gameData.nextDir == "left") { _0xd621xd1.rotation = 270; } } } } else { if (_0xd621xd3 < gameData.snake.length - 1) { var _0xd621xd5 = gameData.snake[_0xd621xd3 - 1]; var _0xd621xd6 = _0xd621xd1; var _0xd621xd7 = gameData.snake[_0xd621xd3 + 1]; if (getDistance(_0xd621xd5.x, _0xd621xd5.y, _0xd621xd6.x, _0xd621xd6.y) > gameSettings.gridSize) { if (_0xd621xd6.x == _0xd621xd5.x) { if (_0xd621xd5.y > _0xd621xd6.y) { _0xd621xd5 = {x: _0xd621xd6.x, y: _0xd621xd6.y - _0xd621xd4}; } else { _0xd621xd5 = {x: _0xd621xd6.x, y: _0xd621xd6.y + _0xd621xd4}; } } else { if (_0xd621xd6.y == _0xd621xd5.y) { if (_0xd621xd5.x > _0xd621xd6.x) { _0xd621xd5 = {x: _0xd621xd6.x - _0xd621xd4, y: _0xd621xd6.y}; } else { _0xd621xd5 = {x: _0xd621xd6.x + _0xd621xd4, y: _0xd621xd6.y}; } } } } ; if (getDistance(_0xd621xd7.x, _0xd621xd7.y, _0xd621xd6.x, _0xd621xd6.y) > gameSettings.gridSize) { if (_0xd621xd6.x == _0xd621xd7.x) { if (_0xd621xd7.y > _0xd621xd6.y) { _0xd621xd7 = {x: _0xd621xd6.x, y: _0xd621xd6.y - _0xd621xd4}; } else { _0xd621xd7 = {x: _0xd621xd6.x, y: _0xd621xd6.y + _0xd621xd4}; } } else { if (_0xd621xd6.y == _0xd621xd7.y) { if (_0xd621xd7.x > _0xd621xd6.x) { _0xd621xd7 = {x: _0xd621xd6.x - _0xd621xd4, y: _0xd621xd6.y}; } else { _0xd621xd7 = {x: _0xd621xd6.x + _0xd621xd4, y: _0xd621xd6.y}; } } } } ; if (_0xd621xd5.x == _0xd621xd6.x && _0xd621xd7.x == _0xd621xd6.x) { _0xd621xd1.gotoAndStop("body"); } else { if (_0xd621xd5.y == _0xd621xd6.y && _0xd621xd7.y == _0xd621xd6.y) { _0xd621xd1.gotoAndStop("body"); _0xd621xd1.rotation = 90; } else { _0xd621xd1.gotoAndStop("bodybend"); if (_0xd621xd7.x < _0xd621xd6.x && _0xd621xd5.y < _0xd621xd6.y) { _0xd621xd1.rotation = 90; } else { if (_0xd621xd7.x < _0xd621xd6.x && _0xd621xd5.y > _0xd621xd6.y) {} else { if (_0xd621xd7.x > _0xd621xd6.x && _0xd621xd5.y < _0xd621xd6.y) { _0xd621xd1.rotation = -180; } else { if (_0xd621xd7.x > _0xd621xd6.x && _0xd621xd5.y > _0xd621xd6.y) { _0xd621xd1.rotation = -90; } else { if (_0xd621xd7.y < _0xd621xd6.y && _0xd621xd5.x < _0xd621xd6.x) { _0xd621xd1.rotation = 90; } else { if (_0xd621xd7.y < _0xd621xd6.y && _0xd621xd5.x > _0xd621xd6.x) { _0xd621xd1.rotation = 180; } else { if (_0xd621xd7.y > _0xd621xd6.y && _0xd621xd5.x < _0xd621xd6.x) {} else { if (_0xd621xd7.y > _0xd621xd6.y && _0xd621xd5.x > _0xd621xd6.x) { _0xd621xd1.rotation = -90; } } } } } } } } } } } else { _0xd621xd1.gotoAndStop("tail"); var _0xd621xd5 = gameData.snake[_0xd621xd3 - 1]; var _0xd621xd6 = _0xd621xd1; if (getDistance(_0xd621xd5.x, _0xd621xd5.y, _0xd621xd6.x, _0xd621xd6.y) > gameSettings.gridSize) { if (_0xd621xd5.x == _0xd621xd6.x) { if (_0xd621xd5.y > _0xd621xd6.y) { _0xd621xd1.rotation = 0; } else { _0xd621xd1.rotation = 180; } } else { if (_0xd621xd5.y == _0xd621xd6.y) { if (_0xd621xd5.x > _0xd621xd6.x) { _0xd621xd1.rotation = -90; } else { _0xd621xd1.rotation = 90; } } } } else { if (_0xd621xd5.x == _0xd621xd6.x) { if (_0xd621xd5.y > _0xd621xd6.y) { _0xd621xd1.rotation = 180; } } else { if (_0xd621xd5.y == _0xd621xd6.y) { if (_0xd621xd5.x > _0xd621xd6.x) { _0xd621xd1.rotation = 90; } else { _0xd621xd1.rotation = -90; } } } } } } } function toggleLoopSnake(_0xd621x45) { if (_0xd621x45) { gameData.loopSnake = true; gameData.startDate = new Date; } else { gameData.loopSnake = false; } } function loopSnake() { var _0xd621xda = false; var _0xd621xdb = false; var _0xd621xdc = false; var _0xd621xdd = false; var _0xd621xde = false; var _0xd621xdf = -1; var _0xd621xe0 = -1; var _0xd621xe1; var _0xd621xe2 = themesArr[gameData.themeNum].stroke == undefined ? false : true; if (gameData.increase) { gameData.increase = false; var _0xd621xe3 = gameData.snake[0].row; var _0xd621xe4 = gameData.snake[0].column; _0xd621xe1 = createSnakeShape(); _0xd621xe1.x = gameData.grid[_0xd621xe3][_0xd621xe4].x; _0xd621xe1.y = gameData.grid[_0xd621xe3][_0xd621xe4].y; _0xd621xe1.base = {x: _0xd621xe1.x, y: _0xd621xe1.y}; _0xd621xe1.row = _0xd621xe3; _0xd621xe1.column = _0xd621xe4; _0xd621xe1.visible = false; gameData.snake.unshift(_0xd621xe1); _0xd621xde = true; } ; for (var _0xd621x4d = 0; _0xd621x4d < gameData.snake.length; _0xd621x4d++) { var _0xd621xd1 = gameData.snake[_0xd621x4d]; var _0xd621xe3 = _0xd621xd1.row; var _0xd621xe4 = _0xd621xd1.column; if (_0xd621x4d == 0) { if (gameData.nextDir == "left") { _0xd621xe4--; } else { if (gameData.nextDir == "right") { _0xd621xe4++; } else { if (gameData.nextDir == "up") { _0xd621xe3--; } else { if (gameData.nextDir == "down") { _0xd621xe3++; } } } } } else { _0xd621xe3 = _0xd621xdf; _0xd621xe4 = _0xd621xe0; } ; _0xd621xdf = _0xd621xd1.row; _0xd621xe0 = _0xd621xd1.column; if (gameData.settings.wall) { if (_0xd621xe3 < 0 || _0xd621xe3 >= gameData.settings.row) { _0xd621xda = true; } ; if (_0xd621xe4 < 0 || _0xd621xe4 >= gameData.settings.column) { _0xd621xda = true; } } ; _0xd621xe3 = _0xd621xe3 < 0 ? gameData.settings.row - 1 : _0xd621xe3; _0xd621xe3 = _0xd621xe3 >= gameData.settings.row ? 0 : _0xd621xe3; _0xd621xe4 = _0xd621xe4 < 0 ? gameData.settings.column - 1 : _0xd621xe4; _0xd621xe4 = _0xd621xe4 >= gameData.settings.column ? 0 : _0xd621xe4; if (gameData.area[_0xd621xe3][_0xd621xe4] == 3) { _0xd621xdb = true; } ; if (!_0xd621xda && !_0xd621xdb) { if (gameData.area[_0xd621xe3][_0xd621xe4] == 1) { _0xd621xdc = true; } ; if (!_0xd621xdc) { gameData.area[_0xd621xd1.row][_0xd621xd1.column] = 0; _0xd621xd1.base.x = gameData.grid[_0xd621xe3][_0xd621xe4].x; _0xd621xd1.base.y = gameData.grid[_0xd621xe3][_0xd621xe4].y; if (_0xd621xe2 && _0xd621x4d == 0) { animateSnake(_0xd621xd1, _0xd621xe3, _0xd621xe4); } else { if (_0xd621xe2 && _0xd621x4d == gameData.snake.length - 1) { animateSnake(_0xd621xd1, _0xd621xe3, _0xd621xe4); } else { _0xd621xd1.x = gameData.grid[_0xd621xe3][_0xd621xe4].x; _0xd621xd1.y = gameData.grid[_0xd621xe3][_0xd621xe4].y; } } ; _0xd621xd1.row = _0xd621xe3; _0xd621xd1.column = _0xd621xe4; if (gameData.area[_0xd621xe3][_0xd621xe4] == 2) { _0xd621xdd = true; } ; gameData.area[_0xd621xe3][_0xd621xe4] = 1; } } ; if (_0xd621xde) { _0xd621x4d = gameData.snake.length; _0xd621xe1.visible = true; } ; if (_0xd621xda) { _0xd621x4d = gameData.snake.length; var _0xd621xe5 = Math.floor(Math.random() * 3); playSound("soundWall" + (_0xd621xe5 + 1)); endGame(); } ; if (_0xd621xdb) { _0xd621x4d = gameData.snake.length; var _0xd621xe5 = Math.floor(Math.random() * 3); playSound("soundWall" + (_0xd621xe5 + 1)); endGame(); } ; if (_0xd621xdc) { _0xd621x4d = gameData.snake.length; var _0xd621xe5 = Math.floor(Math.random() * 3); playSound("soundWall" + (_0xd621xe5 + 1)); endGame(); } } ; if (!_0xd621xdc && !_0xd621xdb && !_0xd621xda) { checkSnakeRotation(); } ; checkScoreNearby(); if (_0xd621xdd) { var _0xd621xe5 = Math.floor(Math.random() * 2); playSound("soundBite" + (_0xd621xe5 + 1)); gameData.increase = true; animateSnakeFeed(); increaseGameStats(); insertType("score"); } ; if (gameData.dir != gameData.nextDir) { playSound("soundSwing"); } ; gameData.dir = gameData.nextDir; } function animateSnake(_0xd621xd1, _0xd621xe3, _0xd621xe4) { var _0xd621xe7 = false; var _0xd621xe8 = 0; var _0xd621xe9 = 0; var _0xd621xa6 = gameSettings.gridSize; if (_0xd621xe4 == 0 && _0xd621xd1.column == gameData.settings.column - 1) { _0xd621xe7 = true; _0xd621xe8 = _0xd621xa6 / 2; } else { if (_0xd621xe4 == gameData.settings.column - 1 && _0xd621xd1.column == 0) { _0xd621xe7 = true; _0xd621xe8 = -(_0xd621xa6 / 2); } } ; if (_0xd621xe3 == 0 && _0xd621xd1.row == gameData.settings.row - 1) { _0xd621xe7 = true; _0xd621xe9 = _0xd621xa6 / 2; } else { if (_0xd621xe3 == gameData.settings.row - 1 && _0xd621xd1.row == 0) { _0xd621xe7 = true; _0xd621xe9 = -(_0xd621xa6 / 2); } } ; if (_0xd621xe7) { _0xd621xd1.nextX = _0xd621xd1.x + _0xd621xe8; _0xd621xd1.nextY = _0xd621xd1.y + _0xd621xe9; TweenMax.to(_0xd621xd1, gameData.level.speed / 2 / 1e3, {x: _0xd621xd1.x + _0xd621xe8, y: _0xd621xd1.y + _0xd621xe9, ease: Linear.easeNone, overwrite: true, onComplete: function () { _0xd621xd1.nextX = gameData.grid[_0xd621xe3][_0xd621xe4].x; _0xd621xd1.nextY = gameData.grid[_0xd621xe3][_0xd621xe4].y; _0xd621xd1.x = gameData.grid[_0xd621xe3][_0xd621xe4].x - _0xd621xe8; _0xd621xd1.y = gameData.grid[_0xd621xe3][_0xd621xe4].y - _0xd621xe9; TweenMax.to(_0xd621xd1, gameData.level.speed / 2 / 1e3, {x: gameData.grid[_0xd621xe3][_0xd621xe4].x, y: gameData.grid[_0xd621xe3][_0xd621xe4].y, ease: Linear.easeNone, overwrite: true}); }}); } else { _0xd621xd1.nextX = gameData.grid[_0xd621xe3][_0xd621xe4].x; _0xd621xd1.nextY = gameData.grid[_0xd621xe3][_0xd621xe4].y; TweenMax.to(_0xd621xd1, gameData.level.speed / 1e3, {x: gameData.grid[_0xd621xe3][_0xd621xe4].x, y: gameData.grid[_0xd621xe3][_0xd621xe4].y, ease: Linear.easeNone, overwrite: true}); } } function checkScoreNearby() { var _0xd621xd1 = gameData.snake[0]; if (Math.random() < 0.5) { _0xd621xd1.gotoAndStop("idle"); } else { _0xd621xd1.gotoAndStop("tongue"); } ; for (var _0xd621x4d = 0; _0xd621x4d < gameData.score.length; _0xd621x4d++) { var _0xd621xeb = gameData.score[_0xd621x4d]; if (getDistance(_0xd621xeb.x, _0xd621xeb.y, _0xd621xd1.x, _0xd621xd1.y) < gameSettings.gridSize * 3) { _0xd621xd1.gotoAndStop("eat"); } } } function animateSnakeFeed() { var _0xd621xed = new createjs.Bitmap(loader.getResult("snakeFeed" + gameData.themeNum)); centerReg(_0xd621xed); snakeContainer.addChild(_0xd621xed); gameData.snakeFeed.push(_0xd621xed); var _0xd621xee = []; var _0xd621xef = null; var _0xd621xf0 = gameData.snake.length > 10 ? 10 : gameData.snake.length; for (var _0xd621x4d = 0; _0xd621x4d < _0xd621xf0; _0xd621x4d++) { var _0xd621xd1 = gameData.snake[_0xd621x4d]; if (_0xd621xef != null && getDistance(_0xd621xef.x, _0xd621xef.y, _0xd621xd1.x, _0xd621xd1.y) > gameSettings.gridSize) { _0xd621x4d = _0xd621xf0; } else { _0xd621xee.push({x: _0xd621xd1.x, y: _0xd621xd1.y}); } ; _0xd621xef = _0xd621xd1; } ; _0xd621xed.x = gameData.snake[0].x; _0xd621xed.y = gameData.snake[0].y; if (_0xd621xee.length > 1) { TweenMax.to(_0xd621xed, getDuration(_0xd621xee.length * gameSettings.gridSize, 1e3), {bezier: {type: "thru", values: _0xd621xee, curviness: 0, autoRotate: true}, scaleX: 0.5, scaleY: 0.5, ease: Linear.easeNone, repeat: 0, overwrite: true, onComplete: animateSnakeFeedComplete}); } else { animateSnakeFeedComplete(); } } function loopSnakeFeed(_0xd621xed) { var _0xd621xee = []; var _0xd621xf2 = gameData.snake[_0xd621xed.feedIndex]; var _0xd621xf3 = gameData.snake[_0xd621xed.feedIndex + 1]; _0xd621xed.feedIndex++; if (getDistance(_0xd621xf2.x, _0xd621xf2.y, _0xd621xf3.x, _0xd621xf3.y) > gameSettings.gridSize) {} else { _0xd621xee.push({x: _0xd621xf2.x, y: _0xd621xf2.y}); _0xd621xee.push({x: _0xd621xf3.x, y: _0xd621xf3.y}); } ; if (_0xd621xee.length > 1) { TweenMax.to(_0xd621xed, getDuration(gameSettings.gridSize, 1e3), {bezier: {type: "thru", values: _0xd621xee, curviness: 0, autoRotate: true}, ease: Linear.easeNone, repeat: 0, overwrite: true, onComplete: loopSnakeFeedComplete, onCompleteParams: [_0xd621xed]}); } else { loopSnakeFeedComplete(_0xd621xed); } } function loopSnakeFeedComplete(_0xd621xed) { if (_0xd621xed.feedIndex < gameData.snake.length - 3) { loopSnakeFeed(_0xd621xed); } else { animateSnakeFeedComplete(); } } function getDuration(_0xd621xf6, _0xd621xf7) { var _0xd621xf8 = _0xd621xf6 / _0xd621xf7; return _0xd621xf8; } function animateSnakeFeedComplete() { var _0xd621xfa = gameData.snakeFeed[0]; snakeContainer.removeChild(_0xd621xfa); gameData.snakeFeed.splice(0, 1); } function drawSnakeStroke() { snakeStroke.graphics.clear(); if (themesArr[gameData.themeNum].stroke == undefined) { return; } ; var _0xd621xa6 = gameSettings.gridSize; gameData.allPath = []; gameData.findPath = []; for (var _0xd621xb3 = 0; _0xd621xb3 < gameData.settings.row; _0xd621xb3++) { for (var _0xd621xb4 = 0; _0xd621xb4 < gameData.settings.column; _0xd621xb4++) { gameData.grid[_0xd621xb3][_0xd621xb4].alpha = 1; } } ; for (var _0xd621x4d = 0; _0xd621x4d < gameData.snake.length; _0xd621x4d++) { var _0xd621xd1 = gameData.snake[_0xd621x4d]; var _0xd621xfc = _0xd621x4d == 0 ? null : gameData.snake[_0xd621x4d - 1]; var _0xd621xfd = _0xd621x4d == gameData.snake.length - 1 ? null : gameData.snake[_0xd621x4d + 1]; var _0xd621xfe = gameData.grid[_0xd621xd1.row][_0xd621xd1.column]; if (_0xd621x4d == 0) { gameData.findPath.push({x: _0xd621xd1.x, y: _0xd621xd1.y}); checkBackPos(_0xd621x4d, _0xd621xfd.base, _0xd621xd1); } ; if (_0xd621x4d != 0) { if (_0xd621x4d == gameData.snake.length - 1) { checkFrontPos(_0xd621x4d, _0xd621xfc.base, _0xd621xd1.base); gameData.findPath.push({x: _0xd621xd1.base.x, y: _0xd621xd1.base.y}); var _0xd621xff = {x: _0xd621xd1.nextX, y: _0xd621xd1.nextY}; checkBackPos(_0xd621x4d, _0xd621xff, _0xd621xd1.base); gameData.findPath.push({x: _0xd621xd1.nextX, y: _0xd621xd1.nextY}); gameData.findPath.push({x: _0xd621xd1.x, y: _0xd621xd1.y}); } else { checkFrontPos(_0xd621x4d, _0xd621xfc.base, _0xd621xd1.base); gameData.findPath.push({x: _0xd621xd1.base.x, y: _0xd621xd1.base.y}); checkBackPos(_0xd621x4d, _0xd621xfd.base, _0xd621xd1.base); } } } ; cutNewPath(); for (var _0xd621x4d = 0; _0xd621x4d < gameData.allPath.length; _0xd621x4d++) { snakeStroke.graphics.setStrokeStyle(themesArr[gameData.themeNum].stroke.stroke, "round", "round").beginStroke(themesArr[gameData.themeNum].stroke.color); for (var _0xd621x100 = 0; _0xd621x100 < gameData.allPath[_0xd621x4d].length; _0xd621x100++) { snakeStroke.graphics.lt(gameData.allPath[_0xd621x4d][_0xd621x100].x, gameData.allPath[_0xd621x4d][_0xd621x100].y); } ; snakeStroke.graphics.endStroke(); } ; if (themesArr[gameData.themeNum].stroke.dashed != undefined) { for (var _0xd621x4d = 0; _0xd621x4d < gameData.allPath.length; _0xd621x4d++) { snakeStroke.graphics.setStrokeStyle(themesArr[gameData.themeNum].stroke.stroke).setStrokeDash(themesArr[gameData.themeNum].stroke.dashed, 0).beginStroke(themesArr[gameData.themeNum].stroke.dashedColor); for (var _0xd621x100 = 0; _0xd621x100 < gameData.allPath[_0xd621x4d].length; _0xd621x100++) { snakeStroke.graphics.lt(gameData.allPath[_0xd621x4d][_0xd621x100].x, gameData.allPath[_0xd621x4d][_0xd621x100].y); } ; snakeStroke.graphics.endStroke(); } } } function cutNewPath() { gameData.allPath.push(gameData.findPath); gameData.findPath = []; } function checkFrontPos(_0xd621xd3, _0xd621xfc, _0xd621xd1) { var _0xd621xa6 = gameSettings.gridSize; if (_0xd621xfc != null && getDistance(_0xd621xfc.x, _0xd621xfc.y, _0xd621xd1.x, _0xd621xd1.y) > _0xd621xa6 * 2) { if (_0xd621xfc.y == _0xd621xd1.y) { if (_0xd621xfc.x < _0xd621xd1.x) { gameData.findPath.push({x: gameData.settings.width + _0xd621xa6 / 2, y: _0xd621xd1.y}); } else { if (_0xd621xfc.x > _0xd621xd1.x) { gameData.findPath.push({x: -(_0xd621xa6 / 2), y: _0xd621xd1.y}); } } } ; if (_0xd621xfc.x == _0xd621xd1.x) { if (_0xd621xfc.y < _0xd621xd1.y) { gameData.findPath.push({x: _0xd621xd1.x, y: gameData.settings.height + _0xd621xa6 / 2}); } else { if (_0xd621xfc.y > _0xd621xd1.y) { gameData.findPath.push({x: _0xd621xd1.x, y: -(_0xd621xa6 / 2)}); } } } } } function checkBackPos(_0xd621xd3, _0xd621xfd, _0xd621xd1) { var _0xd621xa6 = gameSettings.gridSize; if (_0xd621xfd != null && getDistance(_0xd621xfd.x, _0xd621xfd.y, _0xd621xd1.x, _0xd621xd1.y) > _0xd621xa6 * 2) { if (_0xd621xfd.y == _0xd621xd1.y) { if (_0xd621xfd.x > _0xd621xd1.x) { gameData.findPath.push({x: -(_0xd621xa6 / 2), y: _0xd621xd1.y}); cutNewPath(); } else { if (_0xd621xfd.x < _0xd621xd1.x) { gameData.findPath.push({x: gameData.settings.width + _0xd621xa6 / 2, y: _0xd621xd1.y}); cutNewPath(); } } } ; if (_0xd621xfd.x == _0xd621xd1.x) { if (_0xd621xfd.y > _0xd621xd1.y) { gameData.findPath.push({x: _0xd621xd1.x, y: -(_0xd621xa6 / 2)}); cutNewPath(); } else { if (_0xd621xfd.y < _0xd621xd1.y) { gameData.findPath.push({x: _0xd621xd1.x, y: gameData.settings.height + _0xd621xa6 / 2}); cutNewPath(); } } } } } function gameControl(_0xd621x105) { if (!gameData.control) { return; } ; toggleTouchArrow("up", false); toggleTouchArrow("down", false); toggleTouchArrow("left", false); toggleTouchArrow("right", false); if (gameData.moveControl.left) { _0xd621x105 = "left"; } ; if (gameData.moveControl.right) { _0xd621x105 = "right"; } ; if (gameData.moveControl.up) { _0xd621x105 = "up"; } ; if (gameData.moveControl.down) { _0xd621x105 = "down"; } ; toggleTouchArrow(_0xd621x105, true); var _0xd621x106 = ""; if (gameData.dir == "left") { _0xd621x106 = "right"; } else { if (gameData.dir == "right") { _0xd621x106 = "left"; } else { if (gameData.dir == "up") { _0xd621x106 = "down"; } else { if (gameData.dir == "down") { _0xd621x106 = "up"; } } } } ; if (_0xd621x106 != _0xd621x105) { gameData.nextDir = _0xd621x105; } } function checkControl() { if (!gameData.control) { return; } ; var _0xd621x105 = ""; toggleTouchArrow("up", false); toggleTouchArrow("down", false); toggleTouchArrow("left", false); toggleTouchArrow("right", false); if (gameData.moveControl.left) { _0xd621x105 = "left"; } ; if (gameData.moveControl.right) { _0xd621x105 = "right"; } ; if (gameData.moveControl.up) { _0xd621x105 = "up"; } ; if (gameData.moveControl.down) { _0xd621x105 = "down"; } ; if (_0xd621x105 != "") { toggleTouchArrow(_0xd621x105, true); var _0xd621x106 = ""; if (gameData.dir == "left") { _0xd621x106 = "right"; } else { if (gameData.dir == "right") { _0xd621x106 = "left"; } else { if (gameData.dir == "up") { _0xd621x106 = "down"; } else { if (gameData.dir == "down") { _0xd621x106 = "up"; } } } } ; if (_0xd621x106 != _0xd621x105) { gameData.nextDir = _0xd621x105; } } } function updateBrickIcon() { brickIconContainer.removeAllChildren(); var _0xd621x109 = new createjs.Bitmap(loader.getResult("snakeBrick" + gameData.themeNum)); centerReg(_0xd621x109); _0xd621x109.scaleX = _0xd621x109.scaleY = 0.8; _0xd621x109.y = -10; brickIconContainer.addChild(_0xd621x109); } function increaseGameStats() { playerData.level++; playerData.score += gameSettings.level.score; gameData.level.speedTimes++; gameData.level.brickTimes++; if (gameData.level.speedTimes >= gameSettings.level.speedTimes) { gameData.level.speedTimes = 0; gameData.level.speed -= gameSettings.level.speedIncrease; } ; if (gameData.level.brickTimes >= gameSettings.level.brickTimes) { gameData.level.brickTimes = 0; playerData.brick++; insertType("brick"); } ; updateGameStats(); } function updateGameStats() { TweenMax.to(tweenData, 0.5, {tweenScore: playerData.score, overwrite: true, onUpdate: function () { pointTxt.text = pointShadowTxt.text = textDisplay.point.replace("[NUMBER]", addCommas(Math.floor(tweenData.tweenScore))); }}); levelTxt.text = levelShadowTxt.text = textDisplay.level.replace("[NUMBER]", playerData.level); brickTxt.text = brickShadowTxt.text = textDisplay.brick.replace("[NUMBER]", playerData.brick); brickStatusContainer.visible = true; if (!gameData.settings.brick) { brickStatusContainer.visible = false; } } function showGameStatus(_0xd621x45) { if (_0xd621x45 == "gameover") { statusTxt.text = textDisplay.gameover; } ; statusContainer.alpha = 0; TweenMax.to(statusContainer, 0.5, {alpha: 1, overwrite: true}); } function updateGame() { if (!gameData.paused) { if (gameData.loopSnake) { gameData.nowDate = new Date; var _0xd621x10e = Math.floor(gameData.nowDate.getTime() - gameData.startDate.getTime()); if (_0xd621x10e > gameData.level.speed) { gameData.startDate = new Date; loopSnake(); } } ; drawSnakeStroke(); checkControl(); } } function toggleTouchAlpha(_0xd621x8b, _0xd621x45) { if (_0xd621x45) { _0xd621x8b.alpha = 0.6; } else { _0xd621x8b.alpha = 1; } } function setupTouchControl() { var _0xd621x80 = ["Up", "Right", "Down", "Left"]; for (var _0xd621x4d = 0; _0xd621x4d < _0xd621x80.length; _0xd621x4d++) { $.touch["arrow" + _0xd621x80[_0xd621x4d]].id = _0xd621x80[_0xd621x4d].toLowerCase(); $.touch["arrow" + _0xd621x80[_0xd621x4d]].addEventListener("mousedown", function (_0xd621x9a) { toggleTouchArrow(_0xd621x9a.target.id, true); gameData.moveControl[_0xd621x9a.target.id] = true; }); $.touch["arrow" + _0xd621x80[_0xd621x4d]].addEventListener("pressup", function (_0xd621x9a) { toggleTouchArrow(_0xd621x9a.target.id, false); gameData.moveControl[_0xd621x9a.target.id] = false; }); } ; buttonTouchMove.cursor = "pointer"; buttonTouchMove.addEventListener("mousedown", function (_0xd621x9a) { toggleMoveEvent(_0xd621x9a, "drag"); }); buttonTouchMove.addEventListener("pressmove", function (_0xd621x9a) { toggleMoveEvent(_0xd621x9a, "move"); }); buttonTouchMove.addEventListener("pressup", function (_0xd621x9a) { toggleMoveEvent(_0xd621x9a, "drop"); }); } function toggleMoveEvent(_0xd621x8b, _0xd621x45) { switch (_0xd621x45) { case "drag": var _0xd621x112 = touchMoveContainer.localToGlobal(_0xd621x8b.currentTarget.x, _0xd621x8b.currentTarget.y); _0xd621x8b.currentTarget.offset = {x: _0xd621x112.x - _0xd621x8b.stageX, y: _0xd621x112.y - _0xd621x8b.stageY}; break; case "move": var _0xd621x113 = touchMoveContainer.globalToLocal(_0xd621x8b.stageX, _0xd621x8b.stageY); var _0xd621x114 = _0xd621x113.x + _0xd621x8b.currentTarget.offset.x; var _0xd621x115 = _0xd621x113.y + _0xd621x8b.currentTarget.offset.y; var _0xd621x116 = dragLimit(_0xd621x114, _0xd621x115); _0xd621x8b.currentTarget.x = _0xd621x116.x; _0xd621x8b.currentTarget.y = _0xd621x116.y; var _0xd621x117 = 10; gameData.moveControl.up = false; gameData.moveControl.left = false; gameData.moveControl.right = false; gameData.moveControl.down = false; toggleTouchArrow("left", false); toggleTouchArrow("right", false); toggleTouchArrow("up", false); toggleTouchArrow("down", false); if (_0xd621x8b.currentTarget.x <= -_0xd621x117) { gameData.moveControl.left = true; toggleTouchArrow("left", true); } ; if (_0xd621x8b.currentTarget.x >= _0xd621x117) { gameData.moveControl.right = true; toggleTouchArrow("right", true); } ; if (_0xd621x8b.currentTarget.y <= -_0xd621x117) { gameData.moveControl.up = true; toggleTouchArrow("up", true); } ; if (_0xd621x8b.currentTarget.y >= _0xd621x117) { gameData.moveControl.down = true; toggleTouchArrow("down", true); } ; break; case "drop": gameData.moveControl.up = false; gameData.moveControl.left = false; gameData.moveControl.right = false; gameData.moveControl.down = false; resetControlUI(); break; } } function dragLimit(_0xd621x119, _0xd621x11a) { var _0xd621x11b = 20; var _0xd621x11c = dragDistance([_0xd621x119, _0xd621x11a], [0, 0]); if (_0xd621x11c <= _0xd621x11b) { return {x: _0xd621x119, y: _0xd621x11a}; } else { _0xd621x119 = _0xd621x119 - 0; _0xd621x11a = _0xd621x11a - 0; var _0xd621x11d = Math.atan2(_0xd621x11a, _0xd621x119); return {x: Math.cos(_0xd621x11d) * _0xd621x11b + 0, y: Math.sin(_0xd621x11d) * _0xd621x11b + 0}; } } function dragDistance(_0xd621x11f, _0xd621x120) { var _0xd621x121 = _0xd621x11f[0], _0xd621x122 = _0xd621x11f[1], _0xd621x123 = _0xd621x120[0], _0xd621x124 = _0xd621x120[1]; return Math.sqrt(Math.pow(_0xd621x121 - _0xd621x123, 2) + Math.pow(_0xd621x122 - _0xd621x124, 2)); } function resetControlUI() { toggleTouchArrow("up", false); toggleTouchArrow("down", false); toggleTouchArrow("left", false); toggleTouchArrow("right", false); buttonTouchMove.x = buttonTouchMove.y = 0; } function toggleTouchArrow(_0xd621x105, _0xd621x45) { _0xd621x105 = _0xd621x105.charAt(0).toUpperCase() + _0xd621x105.slice(1); if (_0xd621x105) { if (!_0xd621x45) { $.touch[_0xd621x105].visible = false; $.touch["arrow" + _0xd621x105].visible = true; } else { $.touch[_0xd621x105].visible = true; $.touch["arrow" + _0xd621x105].visible = false; } } } function endGame() { gameData.paused = true; playSound("soundOver"); toggleLoopSnake(false); resetControlUI(); showGameStatus("gameover"); TweenMax.to(gameContainer, 3, {overwrite: true, onComplete: function () { goPage("result"); }}); } function millisecondsToTimeGame(_0xd621x12b) { var _0xd621x12c = _0xd621x12b % 1e3; var _0xd621x12d = Math.floor(_0xd621x12b / 1e3 % 60); var _0xd621x12e = Math.floor(_0xd621x12b / 6e4 % 60); if (_0xd621x12d < 10) { _0xd621x12d = "0" + _0xd621x12d; } ; if (_0xd621x12e < 10) { _0xd621x12e = "0" + _0xd621x12e; } ; return _0xd621x12e + ":" + _0xd621x12d; } function toggleOption() { if (optionsContainer.visible) { optionsContainer.visible = false; } else { optionsContainer.visible = true; } } function toggleSoundMute(_0xd621x45) { buttonSoundOff.visible = false; buttonSoundOn.visible = false; toggleSoundInMute(_0xd621x45); if (_0xd621x45) { buttonSoundOn.visible = true; } else { buttonSoundOff.visible = true; } } function toggleMusicMute(_0xd621x45) { buttonMusicOff.visible = false; buttonMusicOn.visible = false; toggleMusicInMute(_0xd621x45); if (_0xd621x45) { buttonMusicOn.visible = true; } else { buttonMusicOff.visible = true; } } function toggleFullScreen() { if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) { if (document.documentElement.requestFullscreen) { document.documentElement.requestFullscreen(); } else { if (document.documentElement.msRequestFullscreen) { document.documentElement.msRequestFullscreen(); } else { if (document.documentElement.mozRequestFullScreen) { document.documentElement.mozRequestFullScreen(); } else { if (document.documentElement.webkitRequestFullscreen) { document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); } } } } } else { if (document.exitFullscreen) { document.exitFullscreen(); } else { if (document.msExitFullscreen) { document.msExitFullscreen(); } else { if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else { if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } } } } } } function share(_0xd621x134) { gtag("event", "click", {event_category: "share", event_label: _0xd621x134}); var _0xd621x135 = location.href; _0xd621x135 = _0xd621x135.substring(0, _0xd621x135.lastIndexOf("/") + 1); var _0xd621x136 = ""; var _0xd621x137 = ""; _0xd621x136 = shareTitle.replace("[SCORE]", playerData.score); _0xd621x137 = shareMessage.replace("[SCORE]", playerData.score); var _0xd621x138 = ""; if (_0xd621x134 == "twitter") { _0xd621x138 = "https://twitter.com/intent/tweet?url=" + _0xd621x135 + "&text=" + _0xd621x137; } else { if (_0xd621x134 == "facebook") { _0xd621x138 = "https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(_0xd621x135 + "share.php?desc=" + _0xd621x137 + "&title=" + _0xd621x136 + "&url=" + _0xd621x135 + "&thumb=" + _0xd621x135 + "share.jpg&width=590&height=300"); } else { if (_0xd621x134 == "google") { _0xd621x138 = "https://plus.google.com/share?url=" + _0xd621x135; } else { if (_0xd621x134 == "whatsapp") { _0xd621x138 = "whatsapp://send?text=" + encodeURIComponent(_0xd621x137) + " - " + encodeURIComponent(_0xd621x135); } } } } ; window.open(_0xd621x138); } var stageW = 1280; var stageH = 768; var contentW = 1024; var contentH = 576; var viewport = {isLandscape: true}; var landscapeSize = {w: stageW, h: stageH, cW: contentW, cH: contentH}; var portraitSize = {w: 768, h: 1024, cW: 576, cH: 900}; function initMain() { if (!$.browser.mobile || !isTablet) { $("#canvasHolder").show(); } ; initGameCanvas(stageW, stageH); buildGameCanvas(); buildGameButton(); if (typeof buildScoreBoardCanvas == "function") { buildScoreBoardCanvas(); } ; goPage("main"); checkMobileOrientation(); resizeCanvas(); } var windowW = windowH = 0; var scalePercent = 0; var offset = {x: 0, y: 0, left: 0, top: 0}; function resizeGameFunc() { setTimeout(function () { $(".mobileRotate").css("left", checkContentWidth($(".mobileRotate"))); $(".mobileRotate").css("top", checkContentHeight($(".mobileRotate"))); windowW = window.innerWidth; windowH = window.innerHeight; scalePercent = windowW / contentW; if (contentH * scalePercent > windowH) { scalePercent = windowH / contentH; } ; scalePercent = scalePercent > 1 ? 1 : scalePercent; if (windowW > stageW && windowH > stageH) { if (windowW > stageW) { scalePercent = windowW / stageW; if (stageH * scalePercent > windowH) { scalePercent = windowH / stageH; } } } ; var _0xd621x145 = stageW * scalePercent; var _0xd621x146 = stageH * scalePercent; offset.left = 0; offset.top = 0; if (_0xd621x145 > windowW) { offset.left = -(_0xd621x145 - windowW); } else { offset.left = windowW - _0xd621x145; } ; if (_0xd621x146 > windowH) { offset.top = -(_0xd621x146 - windowH); } else { offset.top = windowH - _0xd621x146; } ; offset.x = 0; offset.y = 0; if (offset.left < 0) { offset.x = Math.abs(offset.left / scalePercent / 2); } ; if (offset.top < 0) { offset.y = Math.abs(offset.top / scalePercent / 2); } ; $("canvas").css("width", _0xd621x145); $("canvas").css("height", _0xd621x146); $("canvas").css("left", offset.left / 2); $("canvas").css("top", offset.top / 2); $(window).scrollTop(0); resizeCanvas(); if (typeof resizeScore == "function") { resizeScore(); } }, 100); } var resizeTimer; function checkMobileEvent() { if ($.browser.mobile || isTablet) { $(window).off("orientationchange").on("orientationchange", function (_0xd621x5b) { $("#canvasHolder").hide(); $("#rotateHolder").hide(); clearTimeout(resizeTimer); resizeTimer = setTimeout(checkMobileOrientation, 1e3); }); checkMobileOrientation(); } } function checkMobileOrientation() { var _0xd621x83 = false; if (window.innerWidth > window.innerHeight) { _0xd621x83 = true; } ; viewport.isLandscape = _0xd621x83; changeViewport(viewport.isLandscape); resizeGameFunc(); $("#canvasHolder").show(); } function toggleRotate(_0xd621x45) { if (_0xd621x45) { $("#rotateHolder").fadeIn(); } else { $("#rotateHolder").fadeOut(); } ; resizeGameFunc(); } function initPreload() { toggleLoader(true); checkMobileEvent(); $(window).resize(function () { clearTimeout(resizeTimer); resizeTimer = setTimeout(checkMobileOrientation, 1e3); }); resizeGameFunc(); loader = new createjs.LoadQueue(false); manifest = [{src: "assets/background.png", id: "background"}, {src: "assets/background_p.png", id: "backgroundP"}, {src: "assets/logo.png", id: "logo"}, {src: "assets/logo_p.png", id: "logoP"}, {src: "assets/button_classic.png", id: "buttonClassic"}, {src: "assets/button_adventure.png", id: "buttonAdventure"}, {src: "assets/button_start.png", id: "buttonStart"}, {src: "assets/button_select_theme.png", id: "buttonSelectTheme"}, {src: "assets/button_radio.png", id: "buttonRadio"}, {src: "assets/button_arrow_left.png", id: "buttonArrowL"}, {src: "assets/button_arrow_right.png", id: "buttonArrowR"}, {src: "assets/button_arrow_up.png", id: "buttonArrowU"}, {src: "assets/button_arrow_down.png", id: "buttonArrowD"}, {src: "assets/button_plus.png", id: "buttonPlus"}, {src: "assets/button_minus.png", id: "buttonMinus"}, {src: "assets/item_number.png", id: "itemNumber"}, {src: "assets/item_status.png", id: "itemStatus"}, {src: "assets/item_adventure_pop.png", id: "itemAdventurePop"}, {src: "assets/button_touch.png", id: "buttonTouch"}, {src: "assets/button_touch_move.png", id: "buttonTouchMove"}, {src: "assets/button_touch_arrow.png", id: "buttonTouchArrow"}, {src: "assets/button_touch_press.png", id: "buttonTouchPress"}, {src: "assets/button_facebook.png", id: "buttonFacebook"}, {src: "assets/button_twitter.png", id: "buttonTwitter"}, {src: "assets/button_whatsapp.png", id: "buttonWhatsapp"}, {src: "assets/button_continue.png", id: "buttonContinue"}, {src: "assets/item_pop.png", id: "itemPop"}, {src: "assets/item_pop_p.png", id: "itemPopP"}, {src: "assets/button_confirm.png", id: "buttonConfirm"}, {src: "assets/button_cancel.png", id: "buttonCancel"}, {src: "assets/button_fullscreen.png", id: "buttonFullscreen"}, {src: "assets/button_sound_on.png", id: "buttonSoundOn"}, {src: "assets/button_sound_off.png", id: "buttonSoundOff"}, {src: "assets/button_exit.png", id: "buttonExit"}, {src: "assets/button_settings.png", id: "buttonSettings"}]; for (var _0xd621x4d = 0; _0xd621x4d < themesArr.length; _0xd621x4d++) { manifest.push({src: themesArr[_0xd621x4d].src, id: "snake" + _0xd621x4d}); manifest.push({src: themesArr[_0xd621x4d].feed, id: "snakeFeed" + _0xd621x4d}); manifest.push({src: themesArr[_0xd621x4d].brick, id: "snakeBrick" + _0xd621x4d}); for (var _0xd621x14c = 0; _0xd621x14c < themesArr[_0xd621x4d].score.length; _0xd621x14c++) { manifest.push({src: themesArr[_0xd621x4d].score[_0xd621x14c], id: "snakeScore" + _0xd621x14c + "_" + _0xd621x4d}); } } ; if (typeof addScoreboardAssets == "function") { addScoreboardAssets(); } ; soundOn = true; if ($.browser.mobile || isTablet) { if (!enableMobileSound) { soundOn = false; } } else { if (!enableDesktopSound) { soundOn = false; } } ; if (soundOn) { manifest.push({src: "assets/sounds/sound_click.ogg", id: "soundButton"}); manifest.push({src: "assets/sounds/sound_click_2.ogg", id: "soundButton2"}); manifest.push({src: "assets/sounds/sound_over.ogg", id: "soundOver"}); manifest.push({src: "assets/sounds/sound_result.ogg", id: "soundResult"}); manifest.push({src: "assets/sounds/sound_bite1.ogg", id: "soundBite1"}); manifest.push({src: "assets/sounds/sound_bite2.ogg", id: "soundBite2"}); manifest.push({src: "assets/sounds/sound_swing.ogg", id: "soundSwing"}); manifest.push({src: "assets/sounds/sound_wall1.ogg", id: "soundWall1"}); manifest.push({src: "assets/sounds/sound_wall2.ogg", id: "soundWall2"}); manifest.push({src: "assets/sounds/sound_wall3.ogg", id: "soundWall3"}); manifest.push({src: "assets/sounds/sound_brick.ogg", id: "soundBrick"}); createjs.Sound.alternateExtensions = ["mp3"]; loader.installPlugin(createjs.Sound); } ; loader.addEventListener("complete", handleComplete); loader.addEventListener("fileload", fileComplete); loader.addEventListener("error", handleFileError); loader.on("progress", handleProgress, this); loader.loadManifest(manifest); } function fileComplete(_0xd621x9a) { var _0xd621x14e = _0xd621x9a.item; } function handleFileError(_0xd621x9a) { console.log("error ", _0xd621x9a); } function handleProgress() { $("#mainLoader span").html(Math.round(loader.progress / 1 * 100) + "%"); } function handleComplete() { toggleLoader(false); initMain(); } function toggleLoader(_0xd621x45) { if (_0xd621x45) { $("#mainLoader").show(); } else { $("#mainLoader").hide(); } } var stageWidth, stageHeight = 0; var isLoaded = false; $(function () { var _0xd621x154 = function () { try { if (createjs.WebAudioPlugin.context.state === "suspended") { createjs.WebAudioPlugin.context.resume(); window.removeEventListener("click", _0xd621x154); } } catch (e) { console.error("There was an error while trying to resume the SoundJS Web Audio context..."); console.error(e); } }; window.addEventListener("click", _0xd621x154); if (window.location.protocol.substr(0, 4) === "file") { alert("To install the game just upload folder 'game' to your server. The game won't run locally with some browser like Chrome due to some security mode."); } ; $(window).resize(function () { resizeLoaderFunc(); }); resizeLoaderFunc(); checkBrowser(); }); function resizeLoaderFunc() { stageWidth = $(window).width(); stageHeight = $(window).height(); $("#mainLoader").css("left", checkContentWidth($("#mainLoader"))); $("#mainLoader").css("top", checkContentHeight($("#mainLoader"))); } var browserSupport = false; var isTablet; function checkBrowser() { isTablet = /ipad|android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(navigator.userAgent.toLowerCase()); deviceVer = getDeviceVer(); var _0xd621x159 = document.createElement("canvas"); if (_0xd621x159.getContext) { browserSupport = true; } ; if (browserSupport) { if (!isLoaded) { isLoaded = true; initPreload(); } } else { $("#notSupportHolder").show(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.29 | Генераци� �траницы: 0 |
proxy
|
phpinfo
|
�а�тройка