Всем здасьте, Пытаюсь написать скрипт рулетки.
Ссылка на файлы
Затык в следующем - при нажатии на кнопку start запускается function updateNumber().
updateNumber() - должна переопределять значение литерала объектов
param1.stopImageNumber,
param2.stopImageNumber,
param3.stopImageNumber
Однако переопределения не происходит.
Подозреваю, что новые значения остаются в локальной области видимости.
Как переопределить значения литерала объектов
$(function(){
// функция генерации случайного значения
function randomInteger(min, max) {
var rand = min - 0.5 + Math.random() * (max - min + 1);
rand = Math.round(rand);
return rand;
}
// задаём интервал для генерации случайного значения
var numMin = 0;
var numMax = 5;
var win = true // переключатель возможности выигрыша
var a;
// функция генерации нового случайного значения stopImageNumber
function updateNumber(){
if(win){// совпадения допускаются
param1.stopImageNumber = randomInteger(numMin, numMax);
param2.stopImageNumber = randomInteger(numMin, numMax);
param3.stopImageNumber = randomInteger(numMin, numMax);
}
else{// совпадения НЕ допускаются
param1.stopImageNumber = randomInteger(numMin, numMax);
param2.stopImageNumber = randomInteger(numMin, numMax);
param3.stopImageNumber = randomInteger(numMin, numMax);
// в случае совпадения
if(param2.stopImageNumber == param1.stopImageNumber &&
param2.stopImageNumber == param3.stopImageNumber){
param2.stopImageNumber = param1.stopImageNumber + 1;
param3.stopImageNumber = param1.stopImageNumber - 1;
}
}
}
// задаём параметры 1-го слота
var param1 = {
speed : 5,
duration : 1,
stopImageNumber : a,
startCallback : function() {
$('.start').attr('disabled', 'true');
$('.stop').removeAttr('disabled');
},
slowDownCallback : function() {
$('.stop').attr('disabled', 'true');
},
stopCallback : function($stopElm) {
$('.start').removeAttr('disabled');
$('.stop').attr('disabled', 'true');
}
}
// задаём параметры 2-го слота
var param2 = {
speed : 10,
duration : 2,
stopImageNumber : a
}
// задаём параметры 3-го слота
var param3 = {
speed : 8,
duration : 2,
stopImageNumber : a
}
// применяем метод roulette() к слотам
var rouletter1 = $('div.roulette-1');
rouletter1.roulette(param1);
var rouletter2 = $('div.roulette-2');
rouletter2.roulette(param2);
var rouletter3 = $('div.roulette-3');
rouletter3.roulette(param3);
// обработчики кнопок
$('.stop').click(function(){
rouletter1.roulette('stop');
rouletter2.roulette('stop');
rouletter3.roulette('stop');
});
$('.stop').attr('disabled', 'true');
$('.start').click(function(){
rouletter1.roulette('start');
rouletter2.roulette('start');
rouletter3.roulette('start');
updateNumber(); // запуск апдейта
});
});
ссылка на все файлы
https://yadi.sk/d/z-R27m_o38uHkT