Machine à sous simple

Description

Il s'agit d'une machine à sous simple dont le résultat est soit gagné soit perdu. L'intéret de ce code est de pouvoir déterminer la combinaison du résultat soit aléatoirement, soit à l'avance. Le mouvement des roulettes est entièrement fait en AS, pas de clip de roulette en mouvement.

Pas mal de paramètres sont modifiables. Je vous laisse modifier au plaisir les graphismes ^^

Source / Exemple :


var ecartDessin=30;//Correspon aussi à la hauteur des dessins
var yRoulettes=55;//Le y pour placer les roulettes
var nbDessins=6;//le nombre de dessins différents
var tabCombinaison=new Array();//Tableau dans lequel on va mettre la combinaison à afficher
var vitesseRoulettes=40;//La vitesse de défilement des roulettes
var nbRoulettes=3;//Le nombre de roulettes
var numArretDefil=1;//Le numéro de la roulette à arreter
var perdu=0;//c'est gagné d'office :)

for(var i=0;i<nbRoulettes;i++){
	
	tabCombinaison.push(Math.floor(Math.random()*nbDessins)+1);//On ajoute une valeur aléatoire dans la table de combinaison
	//On vérifie au fur et à mesure si le joueur a perdu ou gagne
	if(tabCombinaison[i]!=tabCombinaison[i-1] && tabCombinaison[i-1]!=undefined)//Si la valeur actuelle est différente de la précédente c'est perdu
		perdu=1;	
	
	i%2!=0 ? signe=1 : signe=-1;//Permet de décaler les roulettes au départ	
	this["fixe"+(i+1)]._y=(yRoulettes-3*ecartDessin)+(0.5+i*1.25)*ecartDessin*signe;//On place les roulettes en décalé	
	
	//pour chaque frame des roulettes
	this["fixe"+(i+1)].onEnterFrame = function(){			
		if(this.mouvement){//Si elle est en mouvement
			this._y-=vitesseRoulettes;//On modifie le y pour simuler le mouvement			
			//on vérifie l'ordonnée de la roulette, afin de simuler une boucle
			if(this._y-60<=yRoulettes-this._height)
				this._y=(i+0.5)*ecartDessin-60;			
		}
	}	
}

//action sur le bouton valider
btnValider.onPress = function(){	
	this._parent.lancerJeu();//on lance le jeu
	this.enabled=false;//On désactive le bouton	
	this.play();//on anime le bouton				
}	

//fonction de lancement du jeu
this.lancerJeu = function(){
	//on indique que toutes les roulettes sont en mouvement
	for(var i=0;i<nbRoulettes;i++){
		this["fixe"+(i+1)].	mouvement=true;
	}
	IdIntervalle=setInterval(this,"arretDefil",2000);//On demande à arreter la première roulette au bout de 2s, la deuxième au bout de 4s, etc
}

//La fonction qui arrete les roulettes
function arretDefil(){
	if(numArretDefil<=nbRoulettes){//Si il reste des roulettes à arreter		
		this["fixe"+numArretDefil].mouvement=false;//on indique que la roulette n'est plus en mouvement
		
		//on place la roulette de manière à afficher le dessin correspondant à sa combinaison	
		this["fixe"+numArretDefil]._y=(yRoulettes-3*ecartDessin)-((tabCombinaison[numArretDefil-1]-1)*(ecartDessin*2))+ecartDessin/2;		
		numArretDefil++;//On indique que la prochaine roulette à devoir etre arretée est la suivante
	}else{//Si toutes les roulettes ont été arretée
		clearInterval(_root.IdIntervalle);//on clear l'intervalle qui appelle la fonction d'arret		
		perdu==0 ? 	gotoAndStop("gagne") : gotoAndStop("perdu");//On va à la frame correspondant au résultat		
	}
}

stop();

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.