Slot mashine is made in visual-js game engine . Yuo can learn here nice staff about this game engine.
A Pen by VisualJS game engine on CodePen.
<body style="margin:0;padding:0;border:none;background-color:black;"> | |
<div id="UPLOAD_BOX" style="display:block" > | |
</div> | |
<div id="experiment" style="display:block" > | |
<video id="webcam" autoplay width="640" height="480" style="display:none;position:absolute;left:0;top:0;"></video> | |
<canvas id="canvas-blended" width="640" height="480" style="position:absolute;left:0;top:0;display:none;"></canvas> | |
<canvas id="canvas-render" width="640" height="480" style="position:absolute;left:0;top:0;display:none;"></canvas> | |
</div> | |
<canvas tabindex='1' width="1" height="1" id="HELLO_WORLD"></canvas> | |
<div style="display:block;"> | |
<!--audio controls id="audio_ambient" > | |
<source src="http://radio.nessradio.net:8000/nessradio.mp3" type="audio/mpeg"> | |
<source src="http://radio.nessradio.net:8000/nessradio.ogg" type="audio/ogg"> | |
</audio--> | |
</div> | |
</body> |
//###############################################//############################################### | |
//###############################################//############################################### | |
// USER PART OF CODE | |
/** | |
Filename : funny.js | |
Game Template with Visual JS support | |
slot prototype 0.1 FUNNY3 DEMO | |
2016 | |
*/ | |
/** | |
Copyright 2016, [email protected] | |
All rights reserved. | |
Redistribution and use in source and binary forms, with or without | |
modification, are permitted provided that the following conditions are | |
met: | |
Leave lib licence header and use it for free even for commercial projects | |
*/ | |
//###############################################//############################################### | |
//###############################################//############################################### | |
/*OPERATION FOE REELS | |
We have 3 reels | |
You configure reels with arrays : | |
SYMBOLS_REEL1 | |
SYMBOLS_REEL2 | |
SYMBOLS_REEL3 | |
RESOURCE.SOME_RES is standard Visual JS resource js object | |
NOMOBILE == 0 //means mobile devices | |
NOMOBILE == 1 //means desktop devices | |
*/ | |
//MAKE ALL BE INVISIBLE | |
// This is first you will need : | |
// make surface draws and update functions | |
SYS.DOM.CREATE_SURFACE("SURF", "HELLO_WORLD", 100, 99.4, "DIAMETRIC"); | |
//One program have a one engine , engine runs modules | |
//One modul have a gameobjects , use more modules for composition | |
HELLO_WORLD.ENGINE.CREATE_MODUL("STARTER"); | |
HELLO_WORLD.ENGINE.CREATE_MODUL("SLOT"); | |
HELLO_WORLD.ENGINE.CREATE_MODUL("LOADING"); | |
var LOADING_MODULE = HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE('LOADING'); | |
var SLOT_MODULE = HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE('SLOT'); | |
//############################### | |
//FIX FOR FIDDLE - MAKE RESOURCE PATHS ABSOLUTE | |
//############################### | |
RESOURCE.imagesFont1 = { | |
"source": ["https://maximumroulette.com/framework/res/animations/imagesFont1/letter_A.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_B.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_C.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_D.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_E.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_F.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_G.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_H.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_I.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_J.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_K.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_L.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_M.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_N.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_O.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_P.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_Q.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_R.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_S.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_T.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_U.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_V.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_W.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_X.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_Y.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/letter_Z.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number0.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number1.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number2.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number3.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number4.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number5.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number6.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number7.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number8.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/number9.png", "https://maximumroulette.com/framework/res/animations/imagesFont1/text_plus.png"] | |
}; | |
RESOURCE.clouds = { | |
source: ["https://maximumroulette.com/framework/res/animations/clouds/cloud1.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud2.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud3.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud4.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud5.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud6.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud7.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud8.png", | |
"https://maximumroulette.com/framework/res/animations/clouds/cloud9.png", | |
] | |
}; | |
RESOURCE.loadingBlock = { | |
source: ["https://maximumroulette.com/framework/res/animations/character1/alienBiege_climb1.png", | |
"https://maximumroulette.com/framework/res/animations/character1/alienBiege_climb2.png" | |
] | |
}; | |
RESOURCE.character1 = { | |
source: ["https://maximumroulette.com/framework/res/animations/character1/alienBiege_walk1.png", | |
"https://maximumroulette.com/framework/res/animations/character1/alienBiege_walk2.png", | |
"https://maximumroulette.com/framework/res/animations/character1/alienBiege_swim2.png", | |
"https://maximumroulette.com/framework/res/animations/character1/alienBiege_swim2.png", | |
] | |
}; | |
RESOURCE.character2 = { | |
source: ["https://maximumroulette.com/framework/res/animations/character2/alienBlue_front.png", | |
"https://maximumroulette.com/framework/res/animations/character2/alienBlue_hit.png", | |
"https://maximumroulette.com/framework/res/animations/character2/alienBlue_hit.png" | |
] | |
}; | |
RESOURCE.character3 = { | |
source: ["https://maximumroulette.com/framework/res/animations/character3/alienGreen_walk1.png", | |
"https://maximumroulette.com/framework/res/animations/character3/alienGreen_walk2.png", | |
"https://maximumroulette.com/framework/res/animations/character3/alienGreen_stand.png" | |
] | |
}; | |
RESOURCE.character4 = { | |
source: ["https://maximumroulette.com/framework/res/animations/character4/alienYellow_walk1.png", | |
"https://maximumroulette.com/framework/res/animations/character4/alienYellow_walk2.png", | |
"https://maximumroulette.com/framework/res/animations/character4/alienYellow_duck.png" | |
] | |
}; | |
RESOURCE.SlotRabit = { | |
source: ["https://maximumroulette.com/framework/res/animations/SlotRabit/rabbit.png"] | |
}; | |
RESOURCE.slotBalance = { | |
source: ["https://maximumroulette.com/framework/res/animations/slotBalance/balancetable.png"] | |
}; | |
RESOURCE.slotBG = { | |
source: ["https://maximumroulette.com/framework/res/animations/slotBG/castle_grey.png"] | |
}; | |
RESOURCE.slotFox = { | |
source: ["https://maximumroulette.com/framework/res/animations/slotFox/0.png", | |
"https://maximumroulette.com/framework/res/animations/slotFox/1.png", | |
"https://maximumroulette.com/framework/res/animations/slotFox/2.png", | |
"https://maximumroulette.com/framework/res/animations/slotFox/3.png", | |
"https://maximumroulette.com/framework/res/animations/slotFox/4.png", | |
"https://maximumroulette.com/framework/res/animations/slotFox/5.png", | |
"https://maximumroulette.com/framework/res/animations/slotFox/6.png", | |
"https://maximumroulette.com/framework/res/animations/slotFox/7.png" | |
] | |
}; | |
RESOURCE.imagesFont1 = { | |
source: ["https://maximumroulette.com/framework/res/animations/imagesFont1/0.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/1.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/2.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/3.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/4.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/5.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/6.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/7.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/8.png", | |
"https://maximumroulette.com/framework/res/animations/imagesFont1/9.png" | |
] | |
}; | |
RESOURCE.numbers2 = { | |
source: ["https://maximumroulette.com/framework/res/animations/numbers2/text_0.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_1.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_2.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_3.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_4.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_5.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_6.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_7.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_8.png", | |
"https://maximumroulette.com/framework/res/animations/numbers2/text_9.png" | |
] | |
}; | |
RESOURCE.SlotSun = { | |
source: ["https://maximumroulette.com/framework/res/animations/SlotSun/sun1.png"] | |
}; | |
RESOURCE.wbutton = { | |
source: ["https://maximumroulette.com/framework/res/animations/wbutton/sign.png", | |
"https://maximumroulette.com/framework/res/animations/wbutton/signExit.png", | |
"https://maximumroulette.com/framework/res/animations/wbutton/signLeft.png", | |
"https://maximumroulette.com/framework/res/animations/wbutton/signRight.png", | |
] | |
}; | |
RESOURCE.money_penny = { | |
source: ["https://maximumroulette.com/framework/res/animations/money_penny/gold_1.png", | |
"https://maximumroulette.com/framework/res/animations/money_penny/gold_2.png", | |
"https://maximumroulette.com/framework/res/animations/money_penny/gold_3.png", | |
"https://maximumroulette.com/framework/res/animations/money_penny/gold_4.png", | |
] | |
}; | |
AUDIO_RESOURCE.source[0] = "https://maximumroulette.com/framework/res/audio/laser7.ogg"; | |
AUDIO_RESOURCE.source[1] = "https://maximumroulette.com/framework/res/audio/rabitup.ogg"; | |
AUDIO_RESOURCE.source[2] = "https://maximumroulette.com/framework/res/audio/spin.ogg"; | |
AUDIO_RESOURCE.source[3] = "https://maximumroulette.com/framework/res/audio/start_reel1.ogg"; | |
AUDIO_RESOURCE.source[4] = "https://maximumroulette.com/framework/res/audio/stop.ogg"; | |
// NO AUDIO IN THIS DEMO | |
var SLOT_PLAYER = { | |
BALANCE: 1000, | |
NICKNAME: "noname", | |
}; | |
window['SYMBOLS_REEL1'] = [RESOURCE.character1, RESOURCE.character2, RESOURCE.character3, RESOURCE.character4, RESOURCE.character4, RESOURCE.character4]; | |
window['SYMBOLS_REEL2'] = [RESOURCE.character1, RESOURCE.character2, RESOURCE.character3, RESOURCE.character4, RESOURCE.character4]; | |
window['SYMBOLS_REEL3'] = [RESOURCE.character1, RESOURCE.character2, RESOURCE.character3, RESOURCE.character4, RESOURCE.character4, RESOURCE.character4, RESOURCE.character4]; | |
var SYMBOLS_REEL1_REZ = { | |
rez: ["character1", "character2", "character3", "character4", "character4", "character4"] | |
}; | |
var SYMBOLS_REEL2_REZ = { | |
rez: ["character1", "character2", "character3", "character4", "character4"] | |
}; | |
var SYMBOLS_REEL3_REZ = { | |
rez: ["character1", "character2", "character3", "character4", "character4", "character4", "character4"] | |
}; | |
var WIN_PROCEDURE = null; | |
var PROCEDURE_SPIN = function() {}; | |
var character4 = 10, | |
character3 = 15, | |
character2 = 50, | |
character1 = 200; | |
var REELS_OPTIONS = { | |
SYMBOL_HEIGHT: 16, | |
REEL_SPEED: 3.5, | |
REELS_MARGIN: 1.5, // range 0.1 to 3.0 | |
REEL1_POSITION_X: 17, | |
REEL2_POSITION_X: 43, | |
REEL3_POSITION_X: 69, | |
REEL1_STOPED: true, // read only for you | |
REEL2_STOPED: true, // read only for you | |
REEL3_STOPED: true, // read only for you | |
REEL_MAX_Y: 70 + 2, // read only for you | |
TOP: 0, // read only for you | |
}; | |
CLONE_TOP1 = 0; | |
CLONE_TOP2 = 0; | |
CLONE_TOP3 = 0; | |
var RESULTS = { | |
R1: 1, | |
R2: 1, | |
R3: 1 | |
}; | |
var SPIN_STOP; | |
var SLOT_MASHINE = { | |
BET_VALUE: { | |
VALUE: 1, | |
MIN: 1, | |
MAX: 9, | |
}, | |
SPIN: false, | |
STOP_ON_RESULT: false, | |
}; | |
CONFIGURE_SLOT_FROM_SERVER_or_LOCAL() | |
function CALCULATOR(spin, BET) { | |
var win = 0; | |
var rez1 = SYS.MATH.RANDOM_INT_FROM_TO(0, SYMBOLS_REEL1.length - 1) | |
var rez2 = SYS.MATH.RANDOM_INT_FROM_TO(0, SYMBOLS_REEL2.length - 1) | |
var rez3 = SYS.MATH.RANDOM_INT_FROM_TO(0, SYMBOLS_REEL3.length - 1) | |
if ((SYMBOLS_REEL1_REZ.rez[rez1].toString() == SYMBOLS_REEL2_REZ.rez[rez2].toString()) && (SYMBOLS_REEL1_REZ.rez[rez1].toString() == SYMBOLS_REEL3_REZ.rez[rez3].toString())) { | |
eval(" win = " + SYMBOLS_REEL1_REZ.rez[rez1] + " * BET; "); | |
console.log("WINNIG COMBINATION ! reel id:", rez1, " BET : ", BET); | |
console.log("WINNIG COMBINATION : for :", rez1, " BET : ", BET, " WIN IS :", win); | |
} else { | |
win = 0; | |
} | |
if (typeof rez1 != "undefined" && typeof rez2 != "undefined" && typeof rez3 != "undefined") { | |
SYS.DEBUG.LOG("SPIN r1 :", rez1, rez2, rez3); | |
RESULTS.R1 = rez1; | |
RESULTS.R2 = rez2; | |
RESULTS.R3 = rez3; | |
RESULTS.WIN = win; | |
var win = win; | |
setTimeout(function() { | |
SPIN_STOP(win) | |
}, 4000); | |
} else { | |
SYS.DEBUG.WARRING("server data empty or something very wrong!"); | |
} | |
} | |
/* If you wanna do slot configuration from server | |
first clean : | |
var SYMBOLS_REEL1=[]; | |
var SYMBOLS_REEL2=[]; | |
var SYMBOLS_REEL3=[]; | |
var GAME_SERVER = io.connect('http://'+APPLICATION.LOCAL_SERVER+':12001'); | |
GAME_SERVER.on('connect', function(){ | |
console.log("CONNECTED WITH FUNNYSLOT GAME SERVER!" ); | |
console.log("Get data about slot from GAME SERVER" ); | |
GAME_SERVER.emit("I_WANT" , "FUNNYSLOT1" ); | |
GAME_SERVER.on('CONFIG_REELS', function (r1,r2,r3) { | |
SYS.DEBUG.WARNING("CONFIG SLOT DATA: REEL 1 : " + r1.rez.length + " REEL2 " + r2.rez + " REEL3 " + r3.rez ); | |
for (var x = 0; x < r1.rez.length;x++){ | |
eval( 'SYMBOLS_REEL1.push( RESOURCE.'+r1.rez[x]+');'); | |
} | |
for (var x = 0; x < r2.rez.length;x++){ | |
eval( 'SYMBOLS_REEL2.push(RESOURCE.'+r2.rez[x]+');'); | |
} | |
for (var x = 0; x < r3.rez.length;x++){ | |
eval( 'SYMBOLS_REEL3.push(RESOURCE.'+r3.rez[x]+');'); | |
} | |
CONFIGURE_SLOT_FROM_SERVER_or_LOCAL () | |
}); | |
GAME_SERVER.on('COMBINATION', function ( r1 , r2 , r3 , win) { | |
if (typeof r1 != "undefined" && typeof r2 != "undefined" && typeof r3 != "undefined" ) { | |
SYS.DEBUG.LOG("SPIN r1 :" , r1 , r2 , r3 ); | |
RESULTS.R1 = r1; | |
RESULTS.R2 = r2; | |
RESULTS.R3 = r3; | |
RESULTS.WIN = win; | |
var win = win; | |
setTimeout(function(){ | |
SPIN_STOP(win) | |
},4000); | |
}else{ | |
SYS.DEBUG.WARRING("server data empty or something very wrong!"); | |
} | |
}); | |
}); | |
*/ | |
// CHANGE PROGRAM ROOT NAME (canvas name) | |
HELLO_WORLD.ENGINE.KEYBOARD.ACTION_ON_KEY_DOWN = function() { | |
if (this.LAST_CAPTURE_CHAR == " ") { | |
//SPACE WAS PRESSED | |
PROCEDURE_SPIN() | |
} | |
}; | |
function CONFIGURE_SLOT_FROM_SERVER_or_LOCAL() { | |
PROCEDURE_SPIN = function() { | |
if (SLOT_MASHINE.SPIN == false) { | |
REELS_OPTIONS.REEL1_STOPED = false; | |
REELS_OPTIONS.REEL2_STOPED = false; | |
REELS_OPTIONS.REEL3_STOPED = false; | |
//client side done ; remove this if you wanna set this on server for profesional game | |
SET_BALANCE(SLOT_PLAYER.BALANCE - SLOT_MASHINE.BET_VALUE.VALUE); | |
//GAME_SERVER.emit("SPIN" , SLOT_MASHINE.BET_VALUE.VALUE ); | |
CALCULATOR("SPIN", SLOT_MASHINE.BET_VALUE.VALUE); | |
SLOT_MASHINE.SPIN = true; | |
symbol10.POSITION.SET_SPEED(0.25); | |
Csymbol10.POSITION.SET_SPEED(0.25); | |
symbol20.POSITION.SET_SPEED(0.25); | |
Csymbol20.POSITION.SET_SPEED(0.25); | |
symbol30.POSITION.SET_SPEED(0.25); | |
Csymbol30.POSITION.SET_SPEED(0.25); | |
symbol10.POSITION.TRANSLATE_BY_Y(-1000); | |
Csymbol10.POSITION.TRANSLATE_BY_Y(-1000); | |
setTimeout(function() { | |
symbol20.POSITION.TRANSLATE_BY_Y(-1000); | |
Csymbol20.POSITION.TRANSLATE_BY_Y(-1000); | |
setTimeout(function() { | |
symbol30.POSITION.TRANSLATE_BY_Y(-1000); | |
Csymbol30.POSITION.TRANSLATE_BY_Y(-1000); | |
}, 200); | |
}, 200); | |
// audio_object_start_reel1.play() | |
setTimeout(function() { | |
setNormalSpeed(1); | |
symbol10.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); | |
Csymbol10.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); | |
}, 1000); | |
setTimeout(function() { | |
//audio_object_start_reel2.play() | |
setNormalSpeed(2); | |
symbol20.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); | |
Csymbol20.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); | |
}, 1200); | |
setTimeout(function() { | |
//audio_object_start_reel3.play() | |
//audio_object_spin.play() | |
setNormalSpeed(3); | |
symbol30.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); | |
Csymbol30.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); | |
}, 1400); | |
} | |
}; | |
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
/* //If you wanna local setup make it here | |
//var | |
SYMBOLS_REEL1 = [ RESOURCE.characterPink , RESOURCE.character1 , RESOURCE.character2 , RESOURCE.character1 ]; | |
//var | |
SYMBOLS_REEL2 = [ RESOURCE.characterPink , RESOURCE.character1 , RESOURCE.character2 , RESOURCE.character1 ]; | |
//var | |
SYMBOLS_REEL3 = [ RESOURCE.characterPink , RESOURCE.character1 , RESOURCE.character2 , RESOURCE.character1 ]; | |
*/ | |
function CREATE_REEL(modulname, SYMBOLS_RES, REEL_ID, HEIGHT_OF_SYMBOL, _X) { | |
var SYMBOLS = SYMBOLS_RES; | |
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
for (var r = 0; r < SYMBOLS_RES.length; r++) { | |
var TOP = 18.5 + (r * (HEIGHT_OF_SYMBOL + REELS_OPTIONS.REELS_MARGIN)); | |
var local_id_generator = 1243 + SYS.MATH.RANDOM_INT_FROM_TO(10, 10000); | |
local_id_generator += r; | |
HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE(modulname).NEW_OBJECT('symbol' + REEL_ID + r, _X, TOP, 13.5, HEIGHT_OF_SYMBOL); | |
if (r == 0) { | |
window["symbol" + REEL_ID + "0"].IA_FIRST_IN_REEL = true; | |
REELS_OPTIONS.TOP = TOP; | |
} else { | |
window["symbol" + REEL_ID + "0"].GROUP.ADD(window["symbol" + REEL_ID + r].NAME); | |
} | |
window["symbol" + REEL_ID + r].CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, SYMBOLS_RES[r], local_id_generator, 'no', 1, 11, 1, 1, 1); | |
window["symbol" + REEL_ID + r].DRAG = false; | |
} | |
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
//clone | |
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
var startPositionForClone = HEIGHT_OF_SYMBOL * SYMBOLS_RES.length + (REELS_OPTIONS.REELS_MARGIN * (SYMBOLS_RES.length)); | |
for (var r = 0; r < SYMBOLS_RES.length; r++) { | |
var TOP = 18.5 + (r * (HEIGHT_OF_SYMBOL + REELS_OPTIONS.REELS_MARGIN)); | |
var local_id_generator = 5687; | |
local_id_generator += r; | |
HELLO_WORLD.ENGINE.MODULES.ACCESS_MODULE(modulname).NEW_OBJECT('Csymbol' + REEL_ID + r, _X, TOP - startPositionForClone, 13.5, HEIGHT_OF_SYMBOL); | |
if (r == 0) { | |
window["Csymbol" + REEL_ID + "0"].IA_FIRST_IN_REEL = true; | |
window["CLONE_TOP" + REEL_ID] = TOP - startPositionForClone; | |
} else { | |
window["Csymbol" + REEL_ID + "0"].GROUP.ADD(window["Csymbol" + REEL_ID + r].NAME); | |
} | |
window["Csymbol" + REEL_ID + r].CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, SYMBOLS_RES[r], local_id_generator, 'no', 1, 11, 1, 1, 1); | |
window["Csymbol" + REEL_ID + r].DRAG = false; | |
} | |
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
} | |
// CREATE SYMBOLS OBJECTS | |
CREATE_REEL("SLOT", SYMBOLS_REEL1, 1, REELS_OPTIONS.SYMBOL_HEIGHT, REELS_OPTIONS.REEL1_POSITION_X) | |
CREATE_REEL("SLOT", SYMBOLS_REEL2, 2, REELS_OPTIONS.SYMBOL_HEIGHT, REELS_OPTIONS.REEL2_POSITION_X) | |
CREATE_REEL("SLOT", SYMBOLS_REEL3, 3, REELS_OPTIONS.SYMBOL_HEIGHT, REELS_OPTIONS.REEL3_POSITION_X) | |
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | |
//BACKGROUND | |
SLOT_MODULE.NEW_OBJECT('background', 0, 0, 100, 100); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('background').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.slotBG, 171398232226547041, 'no', 1, 11, 1, 1, 1); | |
background.DRAG = false; | |
// RABIT | |
SLOT_MODULE.NEW_OBJECT('RABIT', REELS_OPTIONS.REEL1_POSITION_X + 5, 85.4, 7, 9); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('RABIT').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.SlotRabit, 23355634344265254656, 'no', 1, 11, 1, 1, 1); | |
//FOX | |
SLOT_MODULE.NEW_OBJECT('FOX', 120, 89, 12, 12); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('FOX').CREATE_ANIMATION(SURF, 'LOOP', 0, RESOURCE.slotFox, 12121212121223333, 'no', 1, 11, 1, 1, 1); | |
FOX.POSITION.thrust = 0.5; | |
FOX.POSITION.TRANSLATE_BY_X(-50); | |
// audio_object_rabithide.play() | |
RABIT.POSITION.TRANSLATE(REELS_OPTIONS.REEL1_POSITION_X + 3, 120); | |
FOX.POSITION.ON_TARGET_POSITION = function() { | |
FOX.POSITION.SET_POSITION(120, 83, "DIAMETRIC"); | |
// audio_object_rabitup.play() | |
RABIT.POSITION.TRANSLATE(REELS_OPTIONS.REEL1_POSITION_X + 3, 77); | |
setTimeout(function() { | |
// audio_object_rabithide.play() | |
RABIT.POSITION.TRANSLATE(REELS_OPTIONS.REEL1_POSITION_X + 5, 120); | |
FOX.POSITION.TRANSLATE_BY_X(-50); | |
}, 10000); | |
}; | |
// SUN | |
SLOT_MODULE.NEW_OBJECT('sun', 2, 1, 8, 8); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('sun').CREATE_ANIMATION(SURF, 'LOOP', 1, RESOURCE.SlotSun, 78657856, 'no', 1, 11, 1, 10, 1); | |
sun.DIMENSION.HEIGHT = sun.DIMENSION.WIDTH; | |
sun.DRAG = false; | |
sun.ROTATE_DIRECTION = 'left'; | |
sun.ON_UPDATE = function() { | |
if (sun.ROTATE_DIRECTION == 'left') { | |
if (sun.ANIMATION.ROTATE.ANGLE > 180) { | |
sun.ROTATE_DIRECTION = 'right'; | |
} | |
sun.ANIMATION.ROTATE.ANGLE++; | |
} else { | |
if (sun.ANIMATION.ROTATE.ANGLE < -180) { | |
sun.ROTATE_DIRECTION = 'left'; | |
} | |
sun.ANIMATION.ROTATE.ANGLE--; | |
} | |
}; | |
//CLOUDS | |
SLOT_MODULE.NEW_OBJECT('clouds1', 2.26, 8.62, 17, 16); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds1').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 1, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); | |
var cloud1_movementX = new OSCILLATOR(-20, 120, 0.1); | |
var cloud1_movementY = new OSCILLATOR(-5, 0, 0.05); | |
clouds1.ON_UPDATE = function() { | |
this.POSITION.TRANSLATE_BY_X(cloud1_movementX.UPDATE()) | |
this.POSITION.TRANSLATE_BY_Y(cloud1_movementY.UPDATE()) | |
}; | |
SLOT_MODULE.NEW_OBJECT('clouds2', 12.26, 8.62, 17, 16); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds2').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 3, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); | |
var cloud2_movementX = new OSCILLATOR(20, 90, 0.06); | |
var cloud2_movementY = new OSCILLATOR(-5, 0, 0.08); | |
clouds2.ON_UPDATE = function() { | |
this.POSITION.TRANSLATE_BY_X(cloud2_movementX.UPDATE()) | |
this.POSITION.TRANSLATE_BY_Y(cloud2_movementY.UPDATE()) | |
}; | |
///////////////////// | |
//Mobile optimezer | |
//////////////////// | |
if (NOMOBILE == 1) { | |
SLOT_MODULE.NEW_OBJECT('clouds3', 12.26, 8.62, 17, 16); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds3').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); | |
var cloud3_movementX = new OSCILLATOR(0, 95, 0.09); | |
var cloud3_movementY = new OSCILLATOR(-15, 0, 0.01); | |
clouds3.ON_UPDATE = function() { | |
this.POSITION.TRANSLATE_BY_X(cloud3_movementX.UPDATE()) | |
this.POSITION.TRANSLATE_BY_Y(cloud3_movementY.UPDATE()) | |
}; | |
SLOT_MODULE.NEW_OBJECT('clouds4', 92.26, 8.62, 17, 16); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('clouds4').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 2, RESOURCE.clouds, 171398232226547221, 'no', 1, 11, 1, 1, 1); | |
var cloud4_movementX = new OSCILLATOR(0, 100, 0.1); | |
var cloud4_movementY = new OSCILLATOR(-15, 0, 0.02); | |
cloud4_movementX.value = 92; | |
clouds4.ON_UPDATE = function() { | |
this.POSITION.TRANSLATE_BY_X(cloud4_movementX.UPDATE()) | |
this.POSITION.TRANSLATE_BY_Y(cloud4_movementY.UPDATE()) | |
}; | |
} | |
//Buttons | |
SLOT_MODULE.NEW_OBJECT('BET', 12, 83.5, 14, 16); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('BET').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.wbutton, 171222132226547221, 'no', 1, 11, 1, 1, 1); | |
BET.DRAG = false; | |
SLOT_MODULE.NEW_OBJECT('BET_MINUS', 0, 87, 13, 13); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('BET_MINUS').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 3, RESOURCE.wbutton, 171277732226547221, 'no', 1, 11, 1, 1, 1); | |
BET_MINUS.DRAG = false; | |
SLOT_MODULE.NEW_OBJECT('BET_PLUS', 25.2, 87, 13, 13); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('BET_PLUS').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 4, RESOURCE.wbutton, 171222156726547221, 'no', 1, 11, 1, 1, 1); | |
BET_PLUS.DRAG = false; | |
BET_PLUS.TAP = function() { | |
if (SLOT_MASHINE.BET_VALUE.VALUE + 1 <= SLOT_MASHINE.BET_VALUE.MAX) { | |
SLOT_MASHINE.BET_VALUE.VALUE++; | |
BET_VALUE.ANIMATION.CURRENT_FRAME = SLOT_MASHINE.BET_VALUE.VALUE; | |
} | |
//audio_object_bet_btns.play(); | |
BET_PLUS.ANIMATION.ROTATE.ANGLE = 5; | |
setTimeout(function() { | |
BET_PLUS.ANIMATION.ROTATE.ANGLE = 0; | |
}, 250); | |
}; | |
BET_MINUS.TAP = function() { | |
if (SLOT_MASHINE.BET_VALUE.VALUE - 1 >= SLOT_MASHINE.BET_VALUE.MIN) { | |
SLOT_MASHINE.BET_VALUE.VALUE--; | |
BET_VALUE.ANIMATION.CURRENT_FRAME = SLOT_MASHINE.BET_VALUE.VALUE; | |
} | |
//audio_object_bet_btns.play(); | |
BET_MINUS.ANIMATION.ROTATE.ANGLE = -5; | |
setTimeout(function() { | |
BET_MINUS.ANIMATION.ROTATE.ANGLE = 0; | |
}, 250); | |
}; | |
var ROT15 = new OSCILLATOR(-10, 10, 1); | |
SLOT_MODULE.NEW_OBJECT('BET_VALUE', 20.8, 87, 3.8, 5.1); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('BET_VALUE').CREATE_ANIMATION(SURF, 'DRAW_FRAME', SLOT_MASHINE.BET_VALUE.VALUE, RESOURCE.numbers2, 123451345, 'no', 1, 11, 1, 1, 1); | |
BET_VALUE.DRAG = false; | |
BET.TOUCH_MOVE = function() { | |
if (BET.EFFECTS.ZOOM.STATUS_FOR_IN == false && BET.EFFECTS.ZOOM.STATUS_FOR_OUT == false) { | |
this.EFFECTS.ZOOM.VALUE = 0.29; | |
this.EFFECTS.ZOOM.IN(80) | |
BET.EFFECTS.ZOOM.ZOOM_IN_FINISHED = function() { | |
BET.EFFECTS.ZOOM.OUT(90) | |
}; | |
} | |
BET_VALUE.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); | |
}; | |
//ORBIT MOVEMNET | |
var MONEY_orbitX = new OSCILLATOR(-10, 10, 0.2); | |
var MONEY_orbitY = new OSCILLATOR(-10, 10, 0.2); | |
MONEY_orbitY.value = 0; | |
var MONEY_SIZE_EFFECT = new OSCILLATOR(50, 200, 5); | |
var MONEY_SIZE_EFFECT2 = new OSCILLATOR(40, 100, 5); | |
SLOT_MODULE.NEW_OBJECT('MONEY_WIN', -38.8, 46.4, 15, 15); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('MONEY_WIN').CREATE_ANIMATION(SURF, 'LOOP', 1, RESOURCE.money_penny, 1212121, 'no', 1, 11, 1, 1, 1); | |
MONEY_WIN.CREATE_PARTICLE('FONTAN'); | |
///////////////////// | |
//Mobile optimezer | |
//////////////////// | |
if (NOMOBILE == 1) { | |
SLOT_MODULE.NEW_OBJECT('MONEY_WIN2', -38.8, -46.4, 15, 15); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('MONEY_WIN2').CREATE_ANIMATION(SURF, 'LOOP', 1, RESOURCE.money_penny, 1212121, 'no', 1, 11, 1, 1, 1); | |
MONEY_WIN2.CREATE_PARTICLE('FONTAN'); | |
// SLOT_MODULE.NEW_OBJECT('MONEY_WIN3', 138.8 , 46.4 ,15,15); | |
// SLOT_MODULE.GAME_OBJECTS.ACCESS('MONEY_WIN3').CREATE_ANIMATION( SURF , 'LOOP' , 1 , RESOURCE.money_penny , 1212121 , 'no' , 1,11,1,1,1); | |
// MONEY_WIN3.CREATE_PARTICLE('FONTAN'); | |
MONEY_WIN.PARTICLE.settings.bounceLevel = VIEW.H(100); | |
MONEY_WIN2.PARTICLE.settings.bounceLevel = VIEW.H(99); | |
// MONEY_WIN3.PARTICLE.settings.bounceLevel = VIEW.H(98); | |
MONEY_WIN.PARTICLE.settings.density = 1; | |
MONEY_WIN2.PARTICLE.settings.density = 1; | |
} | |
//bet value btns | |
SLOT_MODULE.NEW_OBJECT('Wchar', -84.8, 46.4, 15, 15); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('Wchar').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 1, RESOURCE.imagesFont1, 1713221226547221, 'no', 1, 11, 1, 1, 1); | |
SLOT_MODULE.NEW_OBJECT('Ichar', -96.8, 36, 15, 15); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('Ichar').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 4, RESOURCE.imagesFont1, 17132212321221, 'no', 1, 11, 1, 1, 1); | |
SLOT_MODULE.NEW_OBJECT('Nchar', -108.8, 46.4, 15, 15); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('Nchar').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 16, RESOURCE.imagesFont1, 1713221212221, 'no', 1, 11, 1, 1, 1); | |
Wchar.DRAG = false; | |
Ichar.DRAG = false; | |
Nchar.DRAG = false; | |
if (NOMOBILE == 0) { | |
Wchar.POSITION.SET_SPEED(4) | |
Ichar.POSITION.SET_SPEED(4) | |
Nchar.POSITION.SET_SPEED(4) | |
} | |
Wchar.ON_UPDATE = function() { | |
}; | |
function setupChars(obj_, indexFrame, wh, ATACH) { | |
if (wh) { | |
obj_.DIMENSION.WIDTH = obj_.DIMENSION.HEIGHT; | |
} else { | |
obj_.DIMENSION.HEIGHT = obj_.DIMENSION.WIDTH; | |
} | |
if (typeof ATACH !== 'undefined') { | |
obj_.TAP = ATACH; | |
} | |
if (indexFrame == "A") { | |
obj_.ANIMATION.CURRENT_FRAME = 0; | |
} else if (indexFrame == "B") { | |
obj_.ANIMATION.CURRENT_FRAME = 1; | |
} else if (indexFrame == "C") { | |
obj_.ANIMATION.CURRENT_FRAME = 2; | |
} else if (indexFrame == "D") { | |
obj_.ANIMATION.CURRENT_FRAME = 3; | |
} else if (indexFrame == "E") { | |
obj_.ANIMATION.CURRENT_FRAME = 4; | |
} else if (indexFrame == "F") { | |
obj_.ANIMATION.CURRENT_FRAME = 5; | |
} else if (indexFrame == "G") { | |
obj_.ANIMATION.CURRENT_FRAME = 6; | |
} else if (indexFrame == "H") { | |
obj_.ANIMATION.CURRENT_FRAME = 7; | |
} else if (indexFrame == "I") { | |
obj_.ANIMATION.CURRENT_FRAME = 8; | |
} else if (indexFrame == "J") { | |
obj_.ANIMATION.CURRENT_FRAME = 9; | |
} else if (indexFrame == "K") { | |
obj_.ANIMATION.CURRENT_FRAME = 10; | |
} else if (indexFrame == "L") { | |
obj_.ANIMATION.CURRENT_FRAME = 11; | |
} else if (indexFrame == "M") { | |
obj_.ANIMATION.CURRENT_FRAME = 12; | |
} else if (indexFrame == "N") { | |
obj_.ANIMATION.CURRENT_FRAME = 13; | |
} else if (indexFrame == "O") { | |
obj_.ANIMATION.CURRENT_FRAME = 14; | |
} else if (indexFrame == "P") { | |
obj_.ANIMATION.CURRENT_FRAME = 15; | |
} else if (indexFrame == "Q") { | |
obj_.ANIMATION.CURRENT_FRAME = 16; | |
} else if (indexFrame == "R") { | |
obj_.ANIMATION.CURRENT_FRAME = 17; | |
} else if (indexFrame == "S") { | |
obj_.ANIMATION.CURRENT_FRAME = 18; | |
} else if (indexFrame == "T") { | |
obj_.ANIMATION.CURRENT_FRAME = 19; | |
} else if (indexFrame == "U") { | |
obj_.ANIMATION.CURRENT_FRAME = 20; | |
} else if (indexFrame == "V") { | |
obj_.ANIMATION.CURRENT_FRAME = 21; | |
} else if (indexFrame == "W") { | |
obj_.ANIMATION.CURRENT_FRAME = 22; | |
} else if (indexFrame == "X") { | |
obj_.ANIMATION.CURRENT_FRAME = 23; | |
} else if (indexFrame == "Y") { | |
obj_.ANIMATION.CURRENT_FRAME = 24; | |
} else if (indexFrame == "Z") { | |
obj_.ANIMATION.CURRENT_FRAME = 25; | |
} else if (indexFrame == "plus") { | |
obj_.ANIMATION.CURRENT_FRAME = 26; | |
} | |
} | |
// obj_.ANIMATION.CURRENT_FRAME = indexFrame; | |
/* for (var s = 0; s<RESOURCE.imagesFont1.source.length;s++){ | |
console.log(s + ":" + RESOURCE.imagesFont1.source[s] ) | |
} | |
*/ | |
setupChars(Wchar, "W"); | |
setupChars(Ichar, "I"); | |
setupChars(Nchar, "N"); | |
///////////////////// | |
//Mobile optimezer | |
//////////////////// | |
if (NOMOBILE == 1) { | |
} | |
// SPIN | |
SLOT_MODULE.NEW_OBJECT('char1', 65, 83, 15, 12); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('char1').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 15, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); | |
SLOT_MODULE.NEW_OBJECT('char2', 71, 83, 15, 12); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('char2').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 15, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); | |
SLOT_MODULE.NEW_OBJECT('char3', 77, 83, 15, 12); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('char3').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 16, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); | |
SLOT_MODULE.NEW_OBJECT('char4', 83, 83, 15, 12); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('char4').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 11, RESOURCE.imagesFont1, 1713221232226547221, 'no', 1, 11, 1, 1, 1); | |
char1.TOUCH_MOVE = function() { | |
char1.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); | |
}; | |
char2.TOUCH_MOVE = function() { | |
char2.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); | |
}; | |
char3.TOUCH_MOVE = function() { | |
char3.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); | |
}; | |
char4.TOUCH_MOVE = function() { | |
char4.ANIMATION.ROTATE.ANGLE = ROT15.UPDATE(); | |
}; | |
setupChars(char1, "S", true, PROCEDURE_SPIN); | |
setupChars(char2, "P", true, PROCEDURE_SPIN); | |
setupChars(char3, "I", true, PROCEDURE_SPIN); | |
setupChars(char4, "N", true, PROCEDURE_SPIN); | |
function setNormalSpeed(index) { | |
eval("var n = symbol" + index + "0.POSITION.SET_SPEED(REELS_OPTIONS.REEL_SPEED);"); | |
eval("var n = Csymbol" + index + "0.POSITION.SET_SPEED(REELS_OPTIONS.REEL_SPEED);"); | |
} | |
setNormalSpeed(1) | |
setNormalSpeed(2) | |
setNormalSpeed(3) | |
function MEHANIC(OBJ, index) { | |
var index = index; | |
OBJ.POSITION.BAYPASS_FIRST = true; | |
OBJ.POSITION.ON_TARGET_POSITION = function() { | |
if (OBJ.POSITION.BAYPASS_FIRST == true) { | |
OBJ.POSITION.BAYPASS_FIRST = false; | |
} else { | |
var NEW_LOCATION = window["CLONE_TOP" + index] - ((window["SYMBOLS_REEL" + index].length - 3) * (REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN)); | |
eval(" OBJ.POSITION.SET_POSITION( REELS_OPTIONS.REEL" + index + "_POSITION_X , NEW_LOCATION , 'DIAMETRIC'); "); | |
OBJ.POSITION.TRANSLATE_BY_Y(REELS_OPTIONS.REEL_MAX_Y); | |
if (OBJ == Csymbol10) { | |
console.log("CLONE JE POMEREN"); | |
} | |
} | |
}; | |
} | |
//start up position | |
MEHANIC(symbol10, 1) | |
MEHANIC(Csymbol10, 1) | |
MEHANIC(symbol20, 2) | |
MEHANIC(Csymbol20, 2) | |
MEHANIC(symbol30, 3) | |
MEHANIC(Csymbol30, 3) | |
//BALANCE | |
SLOT_MODULE.NEW_OBJECT('balance_Table', 42, 85, 13, 14); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('balance_Table').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.slotBalance, 234234234, 'no', 1, 11, 1, 1, 1); | |
balance_Table.CREATE_TEXTBOX(SLOT_PLAYER.BALANCE, 2, "#000000", "white") | |
balance_Table.TEXTBOX.font = "44px Verdana"; | |
balance_Table.TEXTBOX.textBaseline = 'middle'; | |
balance_Table.DRAG = false; | |
balance_Table.TYPE_OF_GAME_OBJECT = "ANIMATION_TEXT_BOX"; | |
balance_Table.TEXTBOX.BACKGROUND_OPACITY = 0; | |
balance_Table.ON_UPDATE = function() { | |
try { | |
if (VIEW.H() > 1000) { | |
balance_Table.TEXTBOX.font = "54px Verdana"; | |
} else if (VIEW.H() > 600) { | |
balance_Table.TEXTBOX.font = "44px Verdana"; | |
} else if (VIEW.H() > 360) { | |
balance_Table.TEXTBOX.font = "24px Verdana"; | |
} else { | |
balance_Table.TEXTBOX.font = "20px Verdana"; | |
} | |
} catch (e) {} | |
}; | |
SET_BALANCE = function(newB, win_show) { | |
SLOT_PLAYER.BALANCE = newB; | |
balance_Table.TEXTBOX.TEXT = SLOT_PLAYER.BALANCE; | |
if (typeof win_show != 'undefined') { | |
win_sum.TEXTBOX.TEXT = "WIN \n" + RESULTS.WIN; | |
win_sum.TYPE_OF_GAME_OBJECT = "ANIMATION_TEXT_BOX"; | |
} | |
}; | |
//win | |
SLOT_MODULE.NEW_OBJECT('win_sum', 40, 65, 15, 19); | |
SLOT_MODULE.GAME_OBJECTS.ACCESS('win_sum').CREATE_ANIMATION(SURF, 'DRAW_FRAME', 0, RESOURCE.slotBalance, 456456456456, 'no', 1, 11, 1, 1, 1); | |
win_sum.CREATE_TEXTBOX("0", 2, "#000000", "white") | |
win_sum.TEXTBOX.font = "34px Verdana"; | |
win_sum.TEXTBOX.textBaseline = 'middle'; | |
win_sum.DRAG = false; | |
win_sum.TYPE_OF_GAME_OBJECT = "NO_RENDER"; | |
win_sum.TEXTBOX.BACKGROUND_OPACITY = 0; | |
//SLOT_MODULE.NEW_OBJECT('LOAD_BLOCK4', 50 , 50 , 50 ,50); | |
window["IS_IT_LOADED_ALL"] = function() { | |
setTimeout(function() { | |
if (SYS.RES.SUM_OF_LOADED_IMAGES > 909) { | |
CREATE_LOADING_BLOCKS(true); | |
} else { | |
IS_IT_LOADED_ALL() | |
} | |
}, 250); | |
} | |
IS_IT_LOADED_ALL() | |
SPIN_STOP = function(win) { | |
SLOT_MASHINE.STOP_ON_RESULT = true; | |
window["symbol1" + RESULTS.R1].ON_UPDATE = function() { | |
if (SLOT_MASHINE.SPIN == true) { | |
var distance = REELS_OPTIONS.TOP + REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN; | |
if (window["symbol1" + RESULTS.R1].POSITION.y > distance - REELS_OPTIONS.REELS_MARGIN && window["symbol1" + RESULTS.R1].POSITION.y < distance + REELS_OPTIONS.REELS_MARGIN && REELS_OPTIONS.REEL1_STOPED == false) { | |
// audio_object_stop.play() | |
if (RESULTS.R1 == 0) { | |
window["symbol10"].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, distance, "DIAMETRIC"); | |
} else if (RESULTS.R1 == 1) { | |
window["symbol10"].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, REELS_OPTIONS.TOP, "DIAMETRIC"); | |
} else { | |
window["symbol10"].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, REELS_OPTIONS.TOP - ((REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (RESULTS.R1 - 1)), "DIAMETRIC"); | |
} | |
if (RESULTS.R1 > 2) { | |
window["Csymbol10"].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, Csymbol10.POSITION.y + ((REELS_OPTIONS.REELS_MARGIN) * (SYMBOLS_REEL1.length - 2)), "DIAMETRIC"); | |
} else if (RESULTS.R2 == 2) { | |
window["Csymbol10"].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, Csymbol10.POSITION.y + ((REELS_OPTIONS.REELS_MARGIN)), "DIAMETRIC"); | |
} | |
if (RESULTS.R1 < SYMBOLS_REEL1.length - 1) { | |
window["Csymbol10"].POSITION.SET_POSITION(REELS_OPTIONS.REEL1_POSITION_X, (symbol10.POSITION.y - ((REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (SYMBOLS_REEL1.length))), "DIAMETRIC"); | |
} | |
this.ON_UPDATE = function() {}; | |
REELS_OPTIONS.REEL1_STOPED = true; | |
} | |
} | |
}; | |
window["symbol2" + RESULTS.R2].ON_UPDATE = function() { | |
if (SLOT_MASHINE.SPIN == true) { | |
var distance = REELS_OPTIONS.TOP + REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN; | |
if (window["symbol2" + RESULTS.R2].POSITION.y > distance - REELS_OPTIONS.REELS_MARGIN && window["symbol2" + RESULTS.R2].POSITION.y < distance + REELS_OPTIONS.REELS_MARGIN && REELS_OPTIONS.REEL1_STOPED == true) { | |
// audio_object_stop.play() | |
if (RESULTS.R2 == 0) { | |
window["symbol20"].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, distance, "DIAMETRIC"); | |
} else if (RESULTS.R2 == 1) { | |
window["symbol20"].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, REELS_OPTIONS.TOP, "DIAMETRIC"); | |
} else { | |
window["symbol20"].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, REELS_OPTIONS.TOP - ((REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (RESULTS.R2 - 1)), "DIAMETRIC"); | |
} | |
if (RESULTS.R2 > 2) { | |
window["Csymbol20"].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, Csymbol20.POSITION.y + ((REELS_OPTIONS.REELS_MARGIN) * (SYMBOLS_REEL2.length - 2)), "DIAMETRIC"); | |
} else if (RESULTS.R2 == 2) { | |
window["Csymbol20"].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, Csymbol20.POSITION.y + ((REELS_OPTIONS.REELS_MARGIN)), "DIAMETRIC"); | |
} | |
if (RESULTS.R2 < SYMBOLS_REEL2.length - 1) { | |
window["Csymbol20"].POSITION.SET_POSITION(REELS_OPTIONS.REEL2_POSITION_X, (symbol20.POSITION.y - ((REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (SYMBOLS_REEL2.length))), "DIAMETRIC"); | |
} | |
REELS_OPTIONS.REEL2_STOPED = true; | |
this.ON_UPDATE = function() {}; | |
} | |
} | |
}; | |
window["symbol3" + RESULTS.R3].ON_UPDATE = function() { | |
if (SLOT_MASHINE.SPIN == true) { | |
var distance = REELS_OPTIONS.TOP + REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN; | |
if (window["symbol3" + RESULTS.R3].POSITION.y > distance - 2 * REELS_OPTIONS.REELS_MARGIN && window["symbol3" + RESULTS.R3].POSITION.y < distance + 2 * REELS_OPTIONS.REELS_MARGIN && REELS_OPTIONS.REEL2_STOPED == true) { | |
// audio_object_stop.play() | |
if (RESULTS.R3 == 0) { | |
window["symbol30"].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, distance, "DIAMETRIC"); | |
} else if (RESULTS.R3 == 1) { | |
window["symbol30"].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, REELS_OPTIONS.TOP, "DIAMETRIC"); | |
} else { | |
console.log(">>>>>>>>>>>>>>>" + (REELS_OPTIONS.SYMBOL_HEIGHT * (RESULTS.R3 - 1))) | |
window["symbol30"].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, REELS_OPTIONS.TOP - ((REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (RESULTS.R3 - 1)), "DIAMETRIC"); | |
} | |
if (RESULTS.R3 > 2) { | |
window["Csymbol30"].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, Csymbol30.POSITION.y + ((REELS_OPTIONS.REELS_MARGIN) * (SYMBOLS_REEL3.length - 2)), "DIAMETRIC"); | |
} else if (RESULTS.R3 == 2) { | |
window["Csymbol30"].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, Csymbol30.POSITION.y + ((REELS_OPTIONS.REELS_MARGIN)), "DIAMETRIC"); | |
} | |
if (RESULTS.R3 < SYMBOLS_REEL3.length - 1) { | |
window["Csymbol30"].POSITION.SET_POSITION(REELS_OPTIONS.REEL3_POSITION_X, (symbol30.POSITION.y - ((REELS_OPTIONS.SYMBOL_HEIGHT + REELS_OPTIONS.REELS_MARGIN) * (SYMBOLS_REEL3.length))), "DIAMETRIC"); | |
} | |
console.log("ALL REELS ARE STOPED !") | |
REELS_OPTIONS.REEL3_STOPED = true; // not important for now | |
this.ON_UPDATE = function() {}; | |
SLOT_MASHINE.SPIN = false; | |
ON_SPIN_STOP(win); | |
} | |
} | |
}; | |
} | |
function ON_SPIN_STOP(win) { | |
console.log(" WIN is : " + win); | |
if (win > 0) { | |
window["symbol1" + RESULTS.R1].ANIMATION.TYPE = "LOOP"; | |
window["symbol2" + RESULTS.R2].ANIMATION.TYPE = "LOOP"; | |
window["symbol3" + RESULTS.R3].ANIMATION.TYPE = "LOOP"; | |
WIN_PROCEDURE() | |
} | |
} | |
///////////////////// | |
//Mobile optimezer | |
//////////////////// | |
if (NOMOBILE == 1) { | |
WIN_PROCEDURE = function() { | |
Wchar.POSITION.TRANSLATE(20, 40); | |
Ichar.POSITION.TRANSLATE(40, 40); | |
Nchar.POSITION.TRANSLATE(60, 40); | |
MONEY_WIN.POSITION.TRANSLATE(1 + SYS.MATH.RANDOM_INT_FROM_TO(10, 80), 1 + SYS.MATH.RANDOM_INT_FROM_TO(1, 40)) | |
MONEY_WIN2.POSITION.TRANSLATE(1 + SYS.MATH.RANDOM_INT_FROM_TO(10, 80), 1 + SYS.MATH.RANDOM_INT_FROM_TO(1, 40)) | |
//MONEY_WIN3.POSITION.TRANSLATE(1 + SYS.MATH.RANDOM_INT_FROM_TO(10,90),1 + SYS.MATH.RANDOM_INT_FROM_TO(1,40)) | |
setTimeout(function() { | |
SET_BALANCE(SLOT_PLAYER.BALANCE + RESULTS.WIN, true); | |
MONEY_WIN.PARTICLE.settings.gravity = SYS.MATH.RANDOM_INT_FROM_TO(1, 10); | |
MONEY_WIN2.PARTICLE.settings.gravity = SYS.MATH.RANDOM_INT_FROM_TO(1, 10); | |
setTimeout(function() { | |
MONEY_WIN.PARTICLE.settings.gravity = SYS.MATH.RANDOM_INT_FROM_TO(1, 10); | |
MONEY_WIN2.PARTICLE.settings.gravity = SYS.MATH.RANDOM_INT_FROM_TO(1, 10); | |
MONEY_WIN.ON_UPDATE = function() { | |
MONEY_WIN.PARTICLE.settings.particleSize = MONEY_SIZE_EFFECT.UPDATE() | |
MONEY_WIN.ON_UPDATE = MONEY_WIN.ROTATE.ROTATE_ARROUNT_CENTER; | |
}; | |
setTimeout(function() { | |
//LEAVE MEMORY | |
MONEY_WIN.PARTICLE.settings.particleSize = 21; | |
MONEY_WIN2.PARTICLE.settings.particleSize = 21; | |
// MONEY_WIN3.PARTICLE.settings.particleSize = 21; | |
MONEY_WIN.ON_UPDATE = function() {}; | |
MONEY_WIN2.ON_UPDATE = function() {}; | |
// MONEY_WIN3.ON_UPDATE = function(){}; | |
MONEY_WIN.POSITION.TRANSLATE(SYS.MATH.RANDOM_INT_FROM_TO(120, 150), SYS.MATH.RANDOM_INT_FROM_TO(-120, 150)); | |
MONEY_WIN2.POSITION.TRANSLATE(SYS.MATH.RANDOM_INT_FROM_TO(120, 150), SYS.MATH.RANDOM_INT_FROM_TO(120, -50)); | |
// MONEY_WIN3.POSITION.TRANSLATE(SYS.MATH.RANDOM_INT_FROM_TO(120,150) , SYS.MATH.RANDOM_INT_FROM_TO(-120,-50)); | |
Wchar.POSITION.TRANSLATE(-84.8, 46.4); | |
Ichar.POSITION.TRANSLATE(-96.8, 46.4); | |
Nchar.POSITION.TRANSLATE(-108.8, 46.4); | |
win_sum.TYPE_OF_GAME_OBJECT = "NO_RENDER"; | |
}, 4200); | |
window["symbol1" + RESULTS.R1].ANIMATION.CURRENT_FRAME = 1; | |
window["symbol1" + RESULTS.R1].ANIMATION.CURRENT_FRAME = 1; | |
window["symbol1" + RESULTS.R1].ANIMATION.CURRENT_FRAME = 1; | |
window["symbol1" + RESULTS.R1].ANIMATION.TYPE = "DRAW_FRAME"; | |
window["symbol2" + RESULTS.R2].ANIMATION.TYPE = "DRAW_FRAME"; | |
window["symbol3" + RESULTS.R3].ANIMATION.TYPE = "DRAW_FRAME"; | |
}, 3200); | |
MONEY_WIN2.ON_UPDATE = function() { | |
MONEY_WIN2.PARTICLE.settings.particleSize = MONEY_SIZE_EFFECT2.UPDATE() | |
MONEY_WIN2.ON_UPDATE = MONEY_WIN2.ROTATE.ROTATE_ARROUNT_CENTER; | |
}; | |
}, 1200); | |
} | |
} else { | |
WIN_PROCEDURE = function() { | |
Wchar.POSITION.TRANSLATE(20, 40); | |
Ichar.POSITION.TRANSLATE(40, 40); | |
Nchar.POSITION.TRANSLATE(60, 40); | |
MONEY_WIN.POSITION.TRANSLATE(1 + SYS.MATH.RANDOM_INT_FROM_TO(10, 80), 1 + SYS.MATH.RANDOM_INT_FROM_TO(1, 40)) | |
window["symbol1" + RESULTS.R1].ANIMATION.TYPE = "LOOP"; | |
window["symbol2" + RESULTS.R2].ANIMATION.TYPE = "LOOP"; | |
window["symbol3" + RESULTS.R3].ANIMATION.TYPE = "LOOP"; | |
setTimeout(function() { | |
SET_BALANCE(SLOT_PLAYER.BALANCE + RESULTS.WIN, true); | |
MONEY_WIN.PARTICLE.settings.gravity = SYS.MATH.RANDOM_INT_FROM_TO(1, 10); | |
setTimeout(function() { | |
MONEY_WIN.PARTICLE.settings.gravity = SYS.MATH.RANDOM_INT_FROM_TO(1, 10); | |
MONEY_WIN.ON_UPDATE = function() { | |
MONEY_WIN.PARTICLE.settings.particleSize = MONEY_SIZE_EFFECT.UPDATE() | |
MONEY_WIN.ON_UPDATE = MONEY_WIN.ROTATE.ROTATE_ARROUNT_CENTER; | |
}; | |
setTimeout(function() { | |
//LEAVE MEMORY | |
MONEY_WIN.PARTICLE.settings.particleSize = 11; | |
MONEY_WIN.ON_UPDATE = function() {}; | |
MONEY_WIN.POSITION.TRANSLATE(SYS.MATH.RANDOM_INT_FROM_TO(120, 150), SYS.MATH.RANDOM_INT_FROM_TO(-120, 150)); | |
Wchar.POSITION.TRANSLATE(-84.8, 46.4); | |
Ichar.POSITION.TRANSLATE(-96.8, 46.4); | |
Nchar.POSITION.TRANSLATE(-108.8, 46.4); | |
win_sum.TYPE_OF_GAME_OBJECT = "NO_RENDER"; | |
}, 4200); | |
window["symbol1" + RESULTS.R1].ANIMATION.TYPE = "DRAW_FRAME"; | |
window["symbol2" + RESULTS.R2].ANIMATION.TYPE = "DRAW_FRAME"; | |
window["symbol3" + RESULTS.R3].ANIMATION.TYPE = "DRAW_FRAME"; | |
window["symbol1" + RESULTS.R1].ANIMATION.CURRENT_FRAME = 2; | |
window["symbol2" + RESULTS.R2].ANIMATION.CURRENT_FRAME = 2; | |
window["symbol3" + RESULTS.R3].ANIMATION.CURRENT_FRAME = 2; | |
}, 3200); | |
}, 1200); | |
}; | |
} | |
} | |
<script src="https://maximumroulette.com/visual-js/manifest/manifest_jsfiddle.js"></script> | |
<script src="https://maximumroulette.com/visual-js/lib/build.js"></script> |
Slot mashine is made in visual-js game engine . Yuo can learn here nice staff about this game engine.
A Pen by VisualJS game engine on CodePen.