Chrisjackpot

Description

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...

Codes Sources

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.

Du même auteur (webcrea92)