Tchii001 Admin
Nombre de messages : 6889 Age : 36 Parrain : Helaarin 4320
| Sujet: [résolu]Problème de code pour le jeu MasterMind (AS2) Ven 3 Juin - 1:34 | |
| Ce sera plus facile de parler sur le forum : ) - toutclic a écrit:
- Ok j'ai vu pour les boutons
Il est possible d'utiliser un tableau dans ta version mais le codé serai vraiment tres tres long il faudrait reprendre le code de chaque bouton de chaque frame et rajouter une ligne de code en relation avec la couleur cliqué
donc si tu as le temps de le faire je vais t'expliquer comment faire :
Alors dans la frame ou tu as fait tes premières declaration (bpe, mpe, chc ... ) tu rajoute les 2 tableaux qui seront utilisés dans le programme - Code:
-
var tabOrdi:Array = new Array(); var tabJoueur:Array = new Array(); ensuite juste après que l'ordi ai choisi ces pion tu les ajoutes a son tableau - Code:
-
tabOrdi.push(sea,seb,sec,sed,see); maintenant la partie longue : Pour chaque bouton dans tout les images juste apres - Code:
-
_root.pas*.gotoAndStop(*); tu rajoute - Code:
-
tabJoueur.push( le numero de la couleur selectionné ) ensuite dans les boutons de verification tu rajoute ces fonction qui permettront de verifier les tableaux et de renvoyer le nombre de mal placé et de bien placé : - Code:
-
function positionn(coul:String, tabcoul:Array) { var a = -1; var i = 0; var n = 4; while (i < n && a == -1) { if (tabcoul[i] == coul) { a = i; } i++; } return a; }
function compteMP(tabcoul:Array, tabOrdi:Array, nbp, nmp) { var copiecoul:Array = new Array(); var copieOrdi:Array = new Array(); for (var i = 0; i < n; i++) { copiecoul[i] = tabcoul[i]; copieOrdi[i] = tabOrdi[i]; } var a; nbp = 0; nmp = 0; for (var j = 0; j < n; j++) { if (copieOrdi[j] == copiecoul[j]) { ++nbp; copieOrdi[j] = -1; copiecoul[j] = -1; } else if (copiecoul[j] != -1) { a = positionn(copiecoul[j], copieOrdi); if (a != -1) { copieOrdi[a] = -1; ++nmp; } } } return nmp; } function compteBP(tabcoul:Array, tabOrdi:Array, nbp, nmp) { var copiecoul:Array = new Array(); var copieOrdi:Array = new Array(); for (var i = 0; i < n; i++) { copiecoul[i] = tabcoul[i]; copieOrdi[i] = tabOrdi[i]; } var a; nbp = 0; nmp = 0; for (var j = 0; j < n; j++) { if (copieOrdi[j] == copiecoul[j]) { ++nbp; copieOrdi[j] = -1; copiecoul[j] = -1; } } return nbp; } pour les utiliser c'est assez simple : Apres les avoir rajouter entre les 2 accolades du - Code:
-
on(release) tu les appelle comme ci dessous : - Code:
-
compteMP(tabJoueur,tabOrdi,bpe,mpe); compteBP(tabJoueur,tabOrdi,bpe,mpe); apres avoir fait cette verification il ne reste plus qu'a effacé le tableau du joueur pour la suite du jeu - Code:
-
tabJoueur.slice(0); Voila pour l'utilisation des tableaux. Si tu n'as pas compris je vais te l'expliquer avec un petit animation ^^
Dernière édition par Tchii001 le Ven 26 Avr - 0:20, édité 1 fois | |
|
Tchii001 Admin
Nombre de messages : 6889 Age : 36 Parrain : Helaarin 4320
| Sujet: Re: [résolu]Problème de code pour le jeu MasterMind (AS2) Ven 3 Juin - 1:42 | |
| Pour ce deuxième code, j'ai pas très bien compris où il fallait le mettre en faite^^" >>> - Citation :
- ensuite juste après que l'ordi ai choisi ces pion tu les ajoutes a son tableau
- Code:
-
tabOrdi.push(sea,seb,sec,sed,see); C'est-à dire ? Je dois le mettre en dessous de ce code ? >>> - Code:
-
/*choix aléatoires des combinaisons gagnantes*/ sea = Math.floor(Math.random()*7+2); seb = Math.floor(Math.random()*7+2); sec = Math.floor(Math.random()*7+2); sed = Math.floor(Math.random()*7+2); see = Math.floor(Math.random()*7+2); Et est ce que je dois effacer les déclarations que j'ai faite ? >>> - Code:
-
/* chc = Chance, mpe = Mal placé, bpe = Bien placé */ chc = 15; mpe = 0; bpe = 0; | |
|
toutclic Admin
Nombre de messages : 264 Age : 34 Parrain : Qui veut l'être ?
| Sujet: Re: [résolu]Problème de code pour le jeu MasterMind (AS2) Ven 3 Juin - 12:24 | |
| Oui juste apres que l'ordi est fait sont choix - Code:
-
/*choix aléatoires des combinaisons gagnantes*/ sea = Math.floor(Math.random()*7+2); seb = Math.floor(Math.random()*7+2); sec = Math.floor(Math.random()*7+2); sed = Math.floor(Math.random()*7+2); see = Math.floor(Math.random()*7+2); tabOrdi.push(sea,seb,sec,sed,see); Pour ce qui est des declarations que tu as cité elle ne sont pas à effacer. | |
|
Tchii001 Admin
Nombre de messages : 6889 Age : 36 Parrain : Helaarin 4320
| Sujet: Re: [résolu]Problème de code pour le jeu MasterMind (AS2) Jeu 9 Juin - 15:10 | |
| Pour ce code : - Code:
-
_root.pas*.gotoAndStop(*); Il faut que je remplace les * par quelque chose ? Parce que ca me fais des erreurs :s Edit :
J'ai rien dis^^ | |
|
Contenu sponsorisé
| Sujet: Re: [résolu]Problème de code pour le jeu MasterMind (AS2) | |
| |
|