Pessoal, estou com um código em JavaScript para decifrar, a respeito de uma roleta.
Resumindo o assunto, o código contem um cálculo que fornece o número que vai aparecer na roleta. Gostaria de entender esse cálculo, porém sou mt leigo em programação, principalmente em Java.
Alguém consegue decifrar?
Essa é a parte responsável pelo cálculo
$(function(){'use strict';window.roulette=({_numbers:[0,4,12,3,13,2,14,1,8,7,9,6,10,5,11],
_numbersReversed:[0,7,5,3,1,13,11,9,8,10,12,14,2,4,6],
_order:[0,11,5,10,6,9,7,8,1,14,2,13,3,12,4],
_timeMax:25,
_wheel:$('.wheel'),
_baseSize:null,
_timeLeft:0,_timeDate:0,_position:0,_timerWinner:$('.timer-winner'),_timerLeft:$('.time-left'),_timerWidth:$('.timer-width'),
_colorCounters:{red:{my:new CountUp('bet-my-red',0,0),total:new CountUp('bet-total-red',0,0)},
green:{my:new CountUp('bet-my-green',0,0),total:new CountUp('bet-total-green',0,0)},
black:{my:new CountUp('bet-my-black',0,0),total:new CountUp('bet-total-black',0,0)}},
_moving:false,preparing:false,first:true,minBetToDisplay:200,scale:function(){if(this.moving)return;this._wheel.css({'background-position-x':-1*(this._position-(this._wheel.width()- 1125)/ 2)
});},
_numberToColor:function(num){if(num===0){return'green';}
else if(num<8){return'red';}
else{return'black';}},
sounds:{tap:new buzz.sound('/sounds/tap.wav',{preload:true}),button:new buzz.sound('/sounds/button2.wav',{preload:true}),
roulette:new buzz.sound('/sounds/roulette.wav',{preload:true}),
rouletteend:new buzz.sound('/sounds/rouletteend.wav',{preload:true})},
_bets:{red:[],green:[],black:[]},
set timeLeft(x){x=parseFloat(x);if(x<=0||isNaN(x))
{if(roulette.preparing){x=locale.preparing;}else{x=locale.rolling;}
this._timerWidth.css('width','0');}
else{x=x.toFixed(2);}
this._timeLeft=x;this.updateTimer();},get timeLeft(){return this._timeLeft;},countDownInterval:null,
rotateTo:function(number,diff,rotations)
{if(this.moving)
return;clearTimeout(this.rouletteTIMEOUT1);clearTimeout(this.rouletteTIMEOUT2);
var self=this;rotations=rotations||5;
diff=diff?diff*0.9-0.45:0;
this._position=(this._order.indexOf(number)+ diff)*75;
var position=this._position-(this._wheel.width()- 1125)/ 2;
this.moving=true;$('.bet-button').addClass('disabled');
var duration=Math.round(Math.random()*3+3)*1000;
this._wheel.css({backgroundPosition:(-1*(position+ rotations*1125))+'px 0px'}).addClass('moving').css('transition-duration',duration+'ms');
this.sounds.roulette.play();
this.rouletteTIMEOUT1=setTimeout(function(){self.sounds.rouletteend.play();},duration- 700);
this.rouletteTIMEOUT2=setTimeout(function(){self._wheel.removeClass('moving').css('transition-duration','0ms');
self.moving=false;
self.scale();
self.updateHistory(number);
var winningColor=self._numberToColor(number);
var a=$('#bet-total-'+ winningColor);
var b=$('#bet-my-'+ winningColor);
Object.keys(self._colorCounters).forEach(function(color){if(color==winningColor)return;
self._colorCounters.total.update(0);
self._colorCounters.my.update(0);});
self._colorCounters[winningColor].total.update(parseInt(a.data('value'))*(number===0?14:2));
self._colorCounters[winningColor].my.update(parseInt(b.data('value'))*(number===0?14:2));
self._timerWinner.text('Winner: '+ number+'!').show();
$('.timer-text-number').hide();
$('.roulette-color').addClass('lose');
$('.roulette-color.'+ winningColor).removeClass('lose').addClass('win');},duration);}