pendu en Action Script

pendu en Action Script - Flash/ActionScript - Programmation

Marsh Posté le 26-04-2006 à 12:29:40    

Bonjour,

 

j'ai un petit problème en Action Script : je devais modifier un programme du pendu, afin de pouvoir entre autres pouvoir choisir entre plusieurs thèmes au debut. J'ai pour cela créé 2 fonctions pour mes 2 themes dans la fonction principale, mais je ne comprends pas pourquoi ca ne marche pas:

 

les points d'interrogations devant apparaitre à la place des lettres non devinées n'apparaissent pas toujours, parfois des lettres devinées restent quand on relance le jeu, etc...

 

Je pense que c'est très simple à faire (c'est pour un cours d'introduction à Flash), mais comme je n'avais jamais utilisé, j'ai beau y avoir passé des heures je ne vois pas le problème :cry:

 

voilà mon programme flash:

 

http://rapidshare.de/files/18908313/pendu.fla.html

 

Merci d'avance

 

Reply

Marsh Posté le 26-04-2006 à 12:29:40   

Reply

Marsh Posté le 28-04-2006 à 15:45:01    

personne a d'idées ?

Reply

Marsh Posté le 28-04-2006 à 16:11:28    

si je l'ai corrigé, il a plusieurs PB mais je ne vais pas te donner le corrigé (pas la politique du forum) si tu veux apprendre il vas faloir mettre les mains dans le cambouis, de plus rien d'insoluble avec un bon usage de trace();
 
je te redonne l'initialisation:

Code :
  1. // stop the main timeline
  2. stop();
  3. // stop the hangman movie clip timeline
  4. hangman_mc.stop();
  5. // hide the game interface
  6. interface_mc._visible = false;
  7. tema_mc._visible = false;
  8. // initialize array of words
  9. animales = new Array("gato", "perro", "rana", "pez", "pajaro", "hamster", "raton", "vaca", "pollo", "cerdo" );
  10. deportes = new Array("futbol", "rugby", "escalada", "natacion", "ciclismo", "atletismo", "esqui", "equitacion" );
  11. wordlist = new Array();
  12. // initialize arrays for letters
  13. lettersNeeded = new Array();
  14. lettersGuessed = new Array();


 
pour trouver les erreurs je te conseille de faire des trace() des variables suivantes pour trouver les erreurs:
-> wordlist
-> selectedWord
a different endroits du code pour voir comment elles evoluent (apres l'appui sur des boutons par exemple ;) )
 
je n'ai pas toucher au 2 dernieres fonctions:
playGame_btn.onRelease = function()
et
interface_mc.enter_btn.onRelease = function() {
qui semblent fonctionner tres bien...
 
si tu n'y arrvie toujours pas revient poster ici...


Message édité par mechkurt le 28-04-2006 à 16:12:03

---------------
D3
Reply

Marsh Posté le 29-04-2006 à 16:47:07    

je ne connaissais pas la fonction trace()...comme je l'ai dit c'est la 1ère fois que j'utilise flash. Je vais essayer de trouver les erreurs avec ça, merci.

 


Reply

Marsh Posté le 02-05-2006 à 11:45:19    

rebonjour,
j'ai corrigé la plupart des problèmes je pense (merci pour le conseil d'utilisation de trace()), mais il en reste un petit :

 

quand c'est un mot relativement long qui sort, et que je devine des lettres de la fin, alors à la partie d'après ces lettres de la fin ne sont pas remplacées si c'est un mot plus court qui sort.
Par exemple, si je dois deviner natacion, que je trouve le "n" et le "o" et que je perds (je suis pas très fort mais bon), et ensuite pour deviner futbol il apparait à l'écran: ??????on, au lieu de 6 points d'interrogation pour futbol.
Je pense qu'il faut réinitialiser le interface_mc.display, mais je ne trouve pas comment...
voici mon nouveau prog
http://rapidshare.de/files/19421521/pendu.fla.html

 

Reply

Marsh Posté le 02-05-2006 à 11:57:54    

j'ai mêm pas telecharger la 2eme versoin, car la soluton coule de source, il suffit de reinitilaiser
lettersNeeded = new Array();
lettersGuessed = new Array();  
a chaque nouveau mot...
 
EDIT: enfin j'ai pas testé mais ca me parait logique [:airforceone]

Message cité 1 fois
Message édité par mechkurt le 02-05-2006 à 11:58:19

---------------
D3
Reply

Marsh Posté le 02-05-2006 à 12:05:01    

mechkurt a écrit :

j'ai mêm pas telecharger la 2eme versoin, car la soluton coule de source


 
effectivement ça marche bien, merci beaucoup !
moi ça me semblait pas logique, mais bon en même temps je sais pas programmer...

Reply

Marsh Posté le 02-05-2006 à 12:10:33    

tu remplit un array avec des valeurs:
si tu trace(letterguessed) ca te donne ca: ?,?,?,?,?,?,o,n
pour de nouveau avoir un array vide, le plus simple et de le reinitialiser...


---------------
D3
Reply

Marsh Posté le 09-05-2006 à 19:36:14    

merci pour ton aide mechkurt, mais je peux poser encore une petite question sur ce programme? :??:  (promis après j'arrête de t'embeter)

 

Existe-t-il un moyen simple pour pouvoir utiliser des phrases à la place de simples mots ? (enfin pas des romans non plus, mais genre pouvoir mettre "hockey sur glace" dans les sports, sans que l'espace soit compté comme une lettre, et que l'on voit apparaitre au début du jeu : ?????? ??? ?????)

 


Reply

Marsh Posté le 10-05-2006 à 09:46:09    

ben tu mets une condition (un if else ou un switch) quand tu remplit ton array de letter guessed par des ?, tu verifie que le character a l'index specifié est different de " ", si oui tu mets un ? sinon tu met un " "


---------------
D3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed