Tentez voter chance au bandit manchot
Un petit jeu que j'ai développé pour un de mes clients...
Vous le trouverez en action sur
http://www.s3m-fr.com
Source / Exemple :
// chrisJackpot
// Version : 1.0 (20/10/2008)
// Créateur : Christophe Hounau mailto :c.hounau@webcrea.fr
//
//
// Initialisation variables
var phase:Number = 0;
var nbrSlot:Number = 9;
var holder:Array = new Array(0, 0, 0);
var mise:Number = 1;
var miseDefaut:Number = 1;
var credit:Number = 49;
var intervalID:Number = 0;
var resultat:Array = new Array(0, 0, 0);
var r:Array = new Array(3);
for (i=0; i<3; i++) {
// Position initiale des slots pour chaque rouleaux
r[i] = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8);
for (j=0; j<20; j++) {
// 20 permutations aleatoires pour changer l'ordre des slots de chaque rouleaux
var a:Number = random(_level0.nbrSlot);
var b:Number = random(_level0.nbrSlot);
r[i][b] += r[i][b];
r[i][a] = r[i][b]-r[i][a];
r[i][b] -= r[i][a];
}
}
// Initialisation des sons
var jouer_son:Sound = new Sound();
jouer_son.attachSound("jouer.wav");
var plus_son:Sound = new Sound();
plus_son.attachSound("misePlus.wav");
var moins_son:Sound = new Sound();
moins_son.attachSound("miseMoins.mp3");
var slot_son:Sound = new Sound();
slot_son.attachSound("slot.mp3");
var ambiance_son:Sound = new Sound();
// Ce son n'est pas dans le fla zippé car trop lourd
ambiance_son.attachSound("ambiance.mp3");
var jackpot_son:Sound = new Sound();
jackpot_son.attachSound("jackpot.mp3");
var gains_son:Sound = new Sound();
gains_son.attachSound("gains.mp3");
// Initialisation du jeu
// Masque l'aide
_level0.contenu_aide._visible = false;
// Blocage des rouleaux sur le premier slot
_level0.rouleau1.gotoAndStop(random(nbrSlot)+1);
_level0.rouleau2.gotoAndStop(random(nbrSlot)+1);
_level0.rouleau3.gotoAndStop(random(nbrSlot)+1);
// Blocage des boutons de selection de slot
initHold();
_level0.fond_gagnant.gotoAndStop(1);
// Fonctions
jouer.onRelease = function():Void {
// On verifie qu'il y'a une mise
if (_level0.mise>0) {
_level0.miseDefaut = _level0.mise;
this.enabled = false;
var tourneRouleaux:Boolean = false;
if (_level0.holder[0] == 0) {
_level0.resultat[0] = tirage(_level0.rouleau1);
tourneRouleaux = true;
}
if (_level0.holder[1] == 0) {
_level0.resultat[1] = tirage(_level0.rouleau2);
tourneRouleaux = true;
}
if (_level0.holder[2] == 0) {
_level0.resultat[2] = tirage(_level0.rouleau3);
tourneRouleaux = true;
}
var delaiRouleaux:Number = 0;
if (tourneRouleaux == true) {
jouer_son.start();
delaiRouleaux = 1200;
}
// les rouleaux vont tourner pendant delaiRouleaux et ils vont s'arreter
// sur le bon slot que l'on connait deja
_level0.intervalID = setInterval(_level0.affecteResultat, delaiRouleaux);
}
};
function affecteResultat():Void {
// On arrete le timer sinon on affecterait plusieurs fois le resultat
clearInterval(_level0.intervalID);
// On arrete les rouleaux sur leur bonne position
_level0.rouleau1.gotoAndStop(_level0.resultat[0]+1);
_level0.rouleau2.gotoAndStop(_level0.resultat[1]+1);
_level0.rouleau3.gotoAndStop(_level0.resultat[2]+1);
if (_level0.phase == 0) {
// Premier jet
_level0.hold0._visible = true;
_level0.hold0.gotoAndPlay(2);
_level0.hold1._visible = true;
_level0.hold1.gotoAndPlay(2);
_level0.hold2._visible = true;
_level0.hold2.gotoAndPlay(2);
_level0.phase = 1;
} else {
// Deuxieme jet, on affecte les gains...!
_level0.initHold();
_level0.credit += _level0.analyseResultat();
_level0.mise = 0;
_level0.phase = 0;
if (_level0.credit>0) {
// Le credit est encore positif, on mise pour le joueur
_level0.mise = Math.min(_level0.miseDefaut,_level0.credit);
_level0.credit -= _level0.mise;
}
}
_level0.jouer.enabled = true;
}
// Bouton de mise
plus.onRelease = function():Void {
if (_level0.credit>0 && _level0.mise<10 && _level0.phase == 0) {
plus_son.start();
_level0.mise += 1;
_level0.credit -= 1;
}
};
moins.onRelease = function():Void {
if (_level0.mise>0 && _level0.phase == 0) {
moins_son.start();
_level0.mise -= 1;
_level0.credit += 1;
}
};
aide.onRelease = function():Void{
ambiance_son.start();
contenu_aide._visible = true;
contenu_aide.fermer = enabled = true;
_level0.bout_hold0.enabled = false;
_level1.bout_hold0.enabled = false;
_level2.bout_hold0.enabled = false;
_level0.jouer.enabled = false;
_level0.moins.enabled = false;
_level0.plus.enabled = false;
_level0.bout_hold0.enabled = false;
_level0.bout_hold1.enabled = false;
_level0.bout_hold2.enabled = false;
}
function initHold():Void {
// On met les bascules a 0 et on masque les boutons de bascule
_level0.hold0._visible = false;
_level0.holder[0] = 0;
//
_level0.hold1._visible = false;
_level0.holder[1] = 0;
//
_level0.hold2._visible = false;
_level0.holder[2] = 0;
}
function affectHold(n:Number):Void {
if (_level0.phase == 1) {
// Bascule le bouton hold
slot_son.start();
_level0.holder[n] = 1-_level0.holder[n];
if (_level0.holder[n]) {
_level0["hold"+n].gotoAndStop(2);
} else {
_level0["hold"+n].gotoAndPlay(3);
}
}
}
function tirage(rouleau:Object):Number {
// Le futur slot
var t:Number = random(_level0.nbrSlot);
// On lance le rouleau pour ce slot
rouleau.play();
return t;
}
function analyseResultat():Number {
var g:Number = 0;
if (_level0.resultat[0] == _level0.resultat[1] && _level0.resultat[0] == _level0.resultat[2]) {
// On a un brelan, on cherche lequel
switch (_level0.resultat[0]) {
case 0 :
// 3 s3m
jackpot_son.start();
_level0.fond_gagnant._visible = true;
_level0.fond_gagnant.play();
g = 1000*_level0.mise;
break;
case 1 :
// 2 s3m
gains_son.start();
g = 500*_level0.mise;
break;
case 2 :
// s3m
gains_son.start();
g = 250*_level0.mise;
break;
case 3 :
// clef
gains_son.start();
g = 200*_level0.mise;
break;
case 4 :
// 7 d'or
gains_son.start();
g = 100*_level0.mise;
break;
case 5 :
// 7
gains_son.start();
g = 50*_level0.mise;
break;
default :
// Les fruits
gains_son.start();
g = 25;
break;
}
}
return g;
}
Conclusion :
Le jeu doit rester un plaisir...
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.