Показать сообщение отдельно
  #8 (permalink)  
Старый 16.01.2017, 14:35
Аватар для komplekt_17
Аспирант
Отправить личное сообщение для komplekt_17 Посмотреть профиль Найти все сообщения от komplekt_17
 
Регистрация: 14.01.2017
Сообщений: 46

Вот весь скрипт
$(function(){	
"use strict"	
	// функция генерации случайного значения
	function randomInteger(min, max) {
		var rand = min - 0.5 + Math.random() * (max - min + 1);
		rand = Math.round(rand);
		return rand;
	}
	
	// функция вызова сооообщения о результате
	function popUp(){	
		if(param2.stopImageNumber == param1.stopImageNumber && 
			param2.stopImageNumber == param3.stopImageNumber){
				
			var j = param2.stopImageNumber;	
			var image = $('.roulette-1 > img').eq(j);
			var elem = $('.mess_win > h1');
			for (var i = 0; i < 3; i++) {
				$(image.clone()).insertAfter(elem);
			};

			$('.mess_win').fadeIn(300);
		}
	}
	
	function check(){
		// for(var i in param1){
			// console.log(param1[i]);
		// }
		// for(var j in param2){
			// console.log(param2[j]);
		// }
		// for(var k in param3){
			// console.log(param3[k]);
		// }
		console.log('Скорость вращения: '+param1.speed, param2.speed, param3.speed+'\n');
		console.log('Длительность: '+param1.duration, param2.duration, param3.duration+'\n');
		console.log('Стоп картинка: '+param1.stopImageNumber, param2.stopImageNumber, param3.stopImageNumber+'\n');
	}
	
	// задаём интервал для генерации случайного значения
	var numMin = 0;
	var numMax = 5;
	
	var win = true // переключатель возможности выигрыша
	var a;
	
	// функция генерации нового случйного значения stopImageNumber
	function updateNumber(){
		if(win){// совпадения допускаются
			param1.stopImageNumber = 1;
            param2.stopImageNumber = 1;
            param3.stopImageNumber = 1;
            rouletter1.roulette('option',param1);
            rouletter2.roulette('option',param2);
            rouletter3.roulette('option',param3);
		}
		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;
			}
            rouletter1.roulette('option',param1);
            rouletter2.roulette('option',param2);
            rouletter3.roulette('option',param3);
		}
	}
	
	// задаём параметры 1-го слота
	var param1 = {
		speed : 10,
		duration : 2,
		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 : 5,
		duration : 3,
		stopImageNumber : a
	}
	
	// задаём параметры 3-го слота
	var param3 = {
		speed : 8,
		duration : 4,
		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(){
		updateNumber(); // запуск апдейта номера
		rouletter1.roulette('stop');	
		rouletter2.roulette('stop');	
		rouletter3.roulette('stop');
	});
	
	$('.stop').attr('disabled', 'true');
	
	$('.start, .ball').click(function(){
		var time = Math.max(param1.duration, param2.duration, param3.duration) * 1000 + 1500;
		setTimeout(popUp,time); // запуск окна с выигрышем
		updateNumber(); // запуск апдейта номера
		check();
		rouletter1.roulette('start');
		rouletter2.roulette('start');
		rouletter3.roulette('start');
		console.log(time);
		$('.ball').addClass('animate-1');
		$('.stick').addClass('animate-2');
		setTimeout(function(){ // возврат в изначальное
			$('.ball').removeClass('animate-1');
			$('.stick').removeClass('animate-2');
		},2000)
	});
});
Ответить с цитированием