Jeu de simon

Description

Il s'agit de ce jeu, où il faut répéter une suite de couleur ou de note, indiquée par l'ordinateur. Dans cette version il n'y a pas de son, mais vous pouvez facilement en ajouter.

Les graphismes sont bien évidemment à revoir, mais comme toujours l'algorithme fonctionne.

Source / Exemple :


var niveau=1;// le niveau du joueur : correspond au nombre de touche de la combi
var combinaison = new Array();//Array qui contiendra la combinaison
var toucheJouee=0;//Utilisée lors de la lecture des touches
var tabBoutons = new Array(_root.clip1,_root.clip2,_root.clip3,_root.clip4,_root.clip5,_root.clip6);//Array qui contient nos clips
var idInterval;//Notre intervalle
var xylo = new Object();
var nbTouchesCliquees=0;//Utilisée lorsque le joueur joue
var tourJoueur=false;//Indique si c'est au joueur de jouer
var texte="Bienvenue !";//texte d'informations
var texteGagnePerdu="";//texte gagné ou perdu
var numBoutonClique;//Utilisé pour connaitre le bouton cliqué

//Action sur le bouton recommencer
recommencer.onPress = function(){	
	init();//appelle de init()
}

//Méthode qui réinitialise les variables et relance le jeu
function init(){
	texte="Nouvelle partie";
	nbTouchesCliquees=0;
	toucheJouee=0;
	niveau=1;
	combinaison = new Array();
	ajouterTouche();
	jouerTouches();
}

//Méthode qui permet d'ajouter une touche dans la combinaison
function ajouterTouche(){
	var toucheActive = Math.round(Math.random()*5);//On détermine aléatoirement la valeur de la touche
	combinaison.push(toucheActive);//On l'ajoute à la fin de notre array
}

//On crée une méthode dans notre objet xylo qui permet d'afficher UNE touche
xylo.afficherTouche = function(){
	
	//Si l'affichage de la combinaison n'est pas fini 
	if(toucheJouee!=niveau){	
		tabBoutons[(combinaison[toucheJouee])].gotoAndPlay(2);//on affiche la touche
		toucheJouee++;//On indique qu'après il faut lire la suivante
	}else{//Si c'était la dernière touche
		
		//On indique au joueur que c'est à lui
		texteGagnePerdu="";
		texte="A votre tour !";
		tourJoueur=true;
		
		//on arrete l' interval qui fait l'anim des touches
		clearInterval(idInterval);	
		
	}
}

//Fonction qui affiche la combinaison
function jouerTouches(){
	texte="Soyez attentif !";//on indique que l'on va afficher les touches
	toucheJouee=0;
	idInterval = setInterval(xylo,"afficherTouche",2000,combinaison[toucheJouee]);//toutes les 2 sec on affiche la touche suivante de la combi	
}

//Fonction appelé lorsque l'on clique sur l'un des boutosn du xylo
function testClic(bouton){
	//On récupère le numéro du bouton cliqué
	numBoutonClique = Number(bouton._name.substr(4,1))-1;
	
	//Si c'est au joueur de jouer
	if(tourJoueur==true){
		tabBoutons[numBoutonClique].gotoAndPlay(2);//On lance l'anim du bouton
		
		//S'il il s'agit du bon bouton
		if(combinaison[nbTouchesCliquees]==Number(numBoutonClique)){
			nbTouchesCliquees++;
			
			//Si c'était le dernier bouton de la combinaison
			if(nbTouchesCliquees==niveau){
				texteGagnePerdu="GAGNE !";//On indique que le joueur a réussi
				tourJoueur=false;//Ce n'est plus le tour du joueur
				nbTouchesCliquees=0;
				ajouterTouche();//On ajoute une valeur à la combinaison
				niveau++;//On incrémente notre niveau
				jouerTouches();//on lance l'anim des touches
			}
			
		}else{//Si ce n'était pas la bonne touche
			texteGagnePerdu="PERDU !";//On dit au joueur qu'il a perdu
			init();//on relance une nouvelle partie
		}
	}	
}

//////////////////////////
// Actions sur les clips

clip1.onPress = function(){	
	testClic(this);
}
clip2.onPress = function(){	
	testClic(this);
}

clip3.onPress = function(){	
	testClic(this);
}

clip4.onPress = function(){	
	testClic(this);
}

clip5.onPress = function(){	
	testClic(this);
}

clip6.onPress = function(){	
	testClic(this);
}
//////////////////////////

stop();

Codes Sources

A voir également