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();