Fonction de "vie" pour rpg en javascript

Signaler
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011
-
 Berkmann18 -
Bonjour à tous,
voilà j'ai créé un code de "vie" qui réduit la vie lors d'un combat dans un mini rpg que je programme en javascript/html... sauf que le code est assez long et j'aimerais trouver un moyen de le raccourcir, je pense qu'il y a un moyen mais je ne me rappelle plus de la structure :

voici mes fonctions javascript :
if (document.getElementById)
   {
   if(navigator.appName.substring(0,3) == "Net")
      document.captureEvents(Event.MOUSEMOVE);
  window.onload = viepleine;
   }

function viepleine(){
   if (document.getElementById)
      {
         document.vie.src='img/100.bmp';
      }    
      tempo = setTimeout("viepleine()", 1000);    
   }

function vie100(){
   if (document.getElementById)
      {
         document.vie.src='img/100.bmp';
      }    
      tempo = setTimeout("vie98()", 1000);      
   }

function vie98(){
   if (document.getElementById)
      {
         document.vie.src='img/98.bmp';
      }
      window.clearTimeout(tempo);
      tempo = setTimeout("vie96()", 1000);
   }

function vie96(){
   if (document.getElementById)
      {
         document.vie.src='img/96.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie94()", 1000);
   }

function vie94(){
   if (document.getElementById)
      {
         document.vie.src='img/94.bmp';
      }   
      window.clearTimeout(tempo); 
      tempo = setTimeout("vie92()", 1000);
   }

function vie92(){
   if (document.getElementById)
      {
         document.vie.src='img/92.bmp';
      }  
      window.clearTimeout(tempo);
      tempo = setTimeout("vie90()", 1000);
   }

function vie90(){
   if (document.getElementById)
      {
         document.vie.src='img/90.bmp';
      }   
      window.clearTimeout(tempo); 
      tempo = setTimeout("vie88()", 1000);
   }

function vie88(){
   if (document.getElementById)
      {
         document.vie.src='img/88.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie86()", 1000);
   }

function vie86(){
   if (document.getElementById)
      {
         document.vie.src='img/86.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie84()", 1000);
   }

function vie84(){
   if (document.getElementById)
      {
         document.vie.src='img/84.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie82()", 1000);
   }

function vie82(){
   if (document.getElementById)
      {
         document.vie.src='img/82.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie80()", 1000);
   }

function vie80(){
   if (document.getElementById)
      {
         document.vie.src='img/80.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie78()", 1000);
   }

function vie78(){
   if (document.getElementById)
      {
         document.vie.src='img/78.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie76()", 1000);
   }

function vie76(){
   if (document.getElementById)
      {
         document.vie.src='img/76.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie74()", 1000);
   }

function vie74(){
   if (document.getElementById)
      {
         document.vie.src='img/74.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie72()", 1000);
   }

function vie72(){
   if (document.getElementById)
      {
         document.vie.src='img/72.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie70()", 1000);
   }

function vie70(){
   if (document.getElementById)
      {
         document.vie.src='img/70.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie68()", 1000);
   }

function vie68(){
   if (document.getElementById)
      {
         document.vie.src='img/68.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie66()", 1000);
   }

function vie66(){
   if (document.getElementById)
      {
         document.vie.src='img/66.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie64()", 1000);
   }

function vie64(){
   if (document.getElementById)
      {
         document.vie.src='img/64.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie62()", 1000);
   }

function vie62(){
   if (document.getElementById)
      {
         document.vie.src='img/62.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie60()", 1000);
   }

function vie60(){
   if (document.getElementById)
      {
         document.vie.src='img/60.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie58()", 1000);
   }

function vie58(){
   if (document.getElementById)
      {
         document.vie.src='img/58.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie56()", 1000);
   }

function vie56(){
   if (document.getElementById)
      {
         document.vie.src='img/56.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie54()", 1000);
   }

function vie54(){
   if (document.getElementById)
      {
         document.vie.src='img/54.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie52()", 1000);
   }

function vie52(){
   if (document.getElementById)
      {
         document.vie.src='img/52.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie50()", 1000);
   }

function vie50(){
   if (document.getElementById)
      {
         document.vie.src='img/50.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie48()", 1000);
   }

function vie48(){
   if (document.getElementById)
      {
         document.vie.src='img/48.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie46()", 1000);
   }

function vie46(){
   if (document.getElementById)
      {
         document.vie.src='img/46.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie44()", 1000);
   }

function vie44(){
   if (document.getElementById)
      {
         document.vie.src='img/44.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie42()", 1000);
   }

function vie42(){
   if (document.getElementById)
      {
         document.vie.src='img/42.bmp';
      }   
      window.clearTimeout(tempo); 
      tempo = setTimeout("vie40()", 1000);
   }

function vie40(){
   if (document.getElementById)
      {
         document.vie.src='img/40.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie38()", 1000);
   }

function vie38(){
   if (document.getElementById)
      {
         document.vie.src='img/38.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie36()", 1000);
   }

function vie36(){
   if (document.getElementById)
      {
         document.vie.src='img/36.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie34()", 1000);
   }

function vie34(){
   if (document.getElementById)
      {
         document.vie.src='img/34.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie32()", 1000);
   }

function vie32(){
   if (document.getElementById)
      {
         document.vie.src='img/32.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie30()", 1000);
   }

function vie30(){
   if (document.getElementById)
      {
         document.vie.src='img/30.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie28()", 1000);
   }

function vie28(){
   if (document.getElementById)
      {
         document.vie.src='img/28.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie26()", 1000);
   }

function vie26(){
   if (document.getElementById)
      {
         document.vie.src='img/26.bmp';
      }
      window.clearTimeout(tempo);    
      tempo = setTimeout("vie24()", 1000);
   }

function vie24(){
   if (document.getElementById)
      {
         document.vie.src='img/24.bmp';
      }   
      window.clearTimeout(tempo);
      tempo = setTimeout("vie22()", 1000);
   }

function vie22(){
   if (document.getElementById)
      {
         document.vie.src='img/22.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie20()", 1000);
   }

function vie20(){
   if (document.getElementById)
      {
         document.vie.src='img/20.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie18()", 1000);
   }

function vie18(){
   if (document.getElementById)
      {
         document.vie.src='img/18.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie16()", 1000);
   }

function vie16(){
   if (document.getElementById)
      {
         document.vie.src='img/16.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie14()", 1000);
   }

function vie14(){
   if (document.getElementById)
      {
         document.vie.src='img/14.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie12()", 1000);
   }

function vie12(){
   if (document.getElementById)
      {
         document.vie.src='img/12.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie10()", 1000);
   }

function vie10(){
   if (document.getElementById)
      {
         document.vie.src='img/10.bmp';
      }   
      window.clearTimeout(tempo); 
      tempo = setTimeout("vie8()", 1000);
   }

function vie8(){
   if (document.getElementById)
      {
         document.vie.src='img/8.bmp';
      }   
      window.clearTimeout(tempo); 
      tempo = setTimeout("vie6()", 1000);
   }

function vie6(){
   if (document.getElementById)
      {
         document.vie.src='img/6.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie4()", 1000);
   }

function vie4(){
   if (document.getElementById)
      {
         document.vie.src='img/4.bmp';
      }    
      window.clearTimeout(tempo);
      tempo = setTimeout("vie2()", 1000);
   }

function vie2(){
   if (document.getElementById)
      {
         document.vie.src='img/2.bmp';
      }  
      window.clearTimeout(tempo);
      tempo = setTimeout("vie0()", 1000);
   }

function vie0(){
   if (document.getElementById)
      {
         window.clearTimeout(tempo);
         document.vie.src='img/0.bmp';
         parent.document.getElementById('mort').style.visibility='visible';          
         parent.map.imgpersomort();
      }    
   }

function blessure(){
tempo = setTimeout("vie100()", 1000);
}

function stop(){
window.clearTimeout(tempo);
}

if(document.getElementById)
   {
   document.write('');
}


d'après mes souvenirs la structure de la fonction est un truc du genre :

function mafonction()
0<n<100
fichier=img(n).bmp
new src=img(n)-2k
document.img.src='img(n)'

je ne me rappelle pas mais je pense que ce "code" est compréhensible pour ce que je veux faire

merci d'avance pour votre aide.

25 réponses

Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

edit :
function mafonction()
0<n<100 ;
fichier=img(n).bmp ;
new src=img(n)-2k ;
document.img.src='img(n)';
temp = setInterval("mafonction()",300);

PS : si des personnes souhaitent se joindre au projet par plaisir elles sont les bienvenues (attention pas de rémunération : jeu libre et gratuit opensource)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
Quel courage et quelle abnégation, heureusement que tu n'as pas 3022 vies!

pour commencer
if(navigator.appName.substring(0,3) =  = "Net")
      document.captureEvents(Event.MOUSEMOVE);
oublies cela c'est complètement dépassé

pour continuer,
mais je ne me rappelle plus de la structure
il ne s'agit pas de structure mais de bon sens sur ce coup.
Quand on écrit plusieurs fois la même fonction ou presque on garde la partie commune et on passe ce qui change en paramètre.

Un petit exemple de co
mp
re
ssion

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>[PetoleTeam]Compression de fonction</title>
</head>




<script type  ="text/javascript">
//----------------------
function Incremente( param_){
  document.getElementById('D_ECRIRE').innerHTML += param_ +' - ';
  tempo = setTimeout( function(){ Incremente( param_ +1);}, 1000);
}
//-- lance la fonction
Incremente( 1);
</script>
</html>

enfin le clearTimeout n'est pas nécessaire dans la fonction.


;O)
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

merci beaucoup je vais essayer avec cette méthode je vous informerais du résultat
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

function combat( vie_){
if (document.getElementById)
{
document.vie.innerHTML += vie_ +' - ';
tempo = setTimeout( function(){combat( vie_ -2);}, 1000);
}
}

ça ne vas pas bien sur mais je ne sais pas comment faire...
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

<html>

<script type="text/javascript">
//----------------------
function Incremente( param_){
document.getElementById('vie').src='img/'+= param_ +'.bmp';
tempo = setTimeout( function(){ Incremente( param_ -2);}, 1000);
}
}
//-- lance la fonction
Incremente(100);
</script>
</html>
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

<script type="text/javascript">
//----------------------
function combat( vie_){
document.getElementById('life').innerHTML = '';
tempo = setTimeout( function(){ combat( vie_ -2);}, 1000);
}
//-- lance la fonction
combat( 100);
</script>

comprend pas pourquoi ça ne fonctionne pas là
certainement ici que ça coince :
document.getElementById('life').innerHTML = '';
mais je ne connais pas de solution
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

Youpi !


<script type="text/javascript">
//----------------------
function combat( vie_){
document.getElementById('life').innerHTML = '';
tempo = setTimeout( function(){ combat( vie_ -2);}, 1000);
}
//-- lance la fonction
combat( 100);
</script>
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

<script type="text/javascript">
function combat( vie_){
document.getElementById("vie").src = 'img/'+ vie_ +'.bmp';
tempo = setTimeout( function(){ combat( vie_ -2);}, 1000);
}
//-- lance la fonction
function cmbt(){
combat( 100);
}

function stop(){
window.clearTimeout(tempo);
}

</script>

maintenant je bloque sur comment relancer le setTimeout mais sans perdre la valeur car voici ce qui se passe en gros :
un clic sur un monstre depuis une frame lance la fonction cmbt() qui lance elle-même la fonction combat. A la fin du "combat" le monstre (image) a disparu et le Timeout s'arrête grâce à la fonction stop()

ondblclick="parent.vie.stop()"

mais voilà lorsque je veux faire un second combat la vie remonte à 100 et ne reprend pas à la valeur atteinte à la fin du combat précédent.
J'espère avoir été assez clair dans l'explication de mon problème et merci encore d'avance pour votre aide.

(par conséquent le même problème se passe avec la jauge d'expérience :




<script type="text/javascript">
function xp( xp_){
document.getElementById("xp").src = 'img/'+ xp_ +'.bmp';
tempo = setTimeout( function(){ xp( xp_ +10);}, 1000);

}
//-- lance la fonction
function gainxp(){
xp( 0);
}

</script>

une fois lancé je ne peux plus l'arrêter et je ne veux pas que l'expérience monte d'un coup comme ça, de plus comment fixer une limite maximum à 100 pour le paramètre xp_ ?
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

Avant j'avais ça :

function vie0(){
if (document.getElementById)
{
window.clearTimeout(tempo);
document.vie.src='img/0.bmp';
parent.document.getElementById('mort').style.visibility='visible';
parent.map.imgpersomort();
}
}

mais maintenant comment faire pour afficher l'image "personnage mort" lorsque le paramètre vie_ atteint la valeur 0 :

function mort(){
if (vie_ =0){
parent.document.getElementById('mort').style.visibility='visible'; parent.map.imgpersomort();
}
}

ne fonctionne pas :s

en gros comment déclencher une fonction lorsque le paramètre atteint une certaine valeur
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
tout d'abord merci d'utiliser les formatage du code, voir icône dans bandeau de la boîte de saisie, c'est mieux plus lisible...
ensuite
document.getElementById('vie').src=  'img/'+= param_ +'.bmp'; 
doit générer invalid assignment ou un truc dans ce style because le += dans la ligne
Youpi !
c'est donc super, mais les consoles d'erreurs peuvent rendre de grand service!

...maintenant je bloque sur comment relancer le setTimeout mais sans perdre la valeur...
il te faut la stocker dans une variable.

par conséquent le même problème se passe avec la jauge d'expérience :
dans ce cas il est peu être préférable de créer des objets

de plus comment fixer une limite maximum à 100 pour
il suffit de tester la valeur.

mais maintenant comment faire pour afficher l'image "personnage mort" lorsque le paramètre vie_ atteint la valeur 0 :
FONCTION ( parametre)
  SI parametre SUPERIEUR limite ALORS
    DECREMENTE parametre
    Rappel FONCTION ( parametre)
  SINON
    Appel AUTRE_FONCTION
  FINSI
FIN FONCTION


et pour finir...
if (vie_   =0){ 
ne pas confondre affectation et comparaison, donc à lire Les opérateurs

;O)
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

Bonjour :

désolé pour la lisibilité du code, c'est vrai que j'y ai pensé pour le premier post mais après j'ai zappé je tacherai de faire attention.

doit générer invalid assignment
non je n'ai pas eu d'erreur mais c'est peut être parce que mon "jeu" est dans une fenêtre d'application HTA.

il te faut la stocker dans une variable.
var vie =  vie_
??

il est peu être préférable de créer des objets
peux-tu (pouvez-vous) m'éclaircir sur ce point

il suffit de tester la valeur
oui mais je n'y arrive pas mais ça vient certainement de la syntaxe de mon code :
j'écris :
if (xp_  =100){

au lieu de :
if (xp_ == 100){
??

par conséquent si j'ai bien compris :
j'écris :
if (vie_ =0){

au lieu de :
if (vie_ == 0)



je vais essayer quelque chose comme ça :
FONCTION ( parametre)
  SI parametre SUPERIEUR limite ALORS
    DECREMENTE parametre
    Rappel FONCTION ( parametre)
  SINON
    Appel AUTRE_FONCTION
  FINSI
FIN FONCTION

j'indiquerai si ça marche... ou pas...
merci encore
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
= affecte exemple var a 100

effectue une comparaison

;O)
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

Parfait !
j'ai enfin :

<script type="text/javascript">
initvie( 100);

function initvie( vie_){
document.getElementById("vie").src = 'img/'+ vie_ +'.bmp';
temp = setTimeout( function(){ initvie( vie_ );}, 1000);
}

function vie( vie_){
window.clearTimeout(temp);
document.getElementById("vie").src = 'img/'+ vie_ +'.bmp';
temp = setTimeout( function(){ vie( vie_ -10);}, 1000);
if (vie_ == 0){
window.clearTimeout(temp);
parent.document.getElementById('mort').style.visibility='visible';          
parent.map.imgpersomort();
}
}  
//-- lance la fonction
function cmbt(){
vie( 100);
}

function stopvie(){
window.clearTimeout(temp);
initvie(100);
}
</script>


et

<script type="text/javascript">
initxp( 0);

function initxp( xp_){
document.getElementById("xp").src = 'img/'+ xp_ +'.bmp';
}

function xp( xp_){
  document.getElementById("xp").src = 'img/'+ xp_ +'.bmp';
  tempo = setTimeout( function(){ xp( xp_ +2);}, 1000);
  if (xp_ == 100){
  window.clearTimeout(tempo)
  }
}
//-- lance la fonction
function gainxp(){
xp( 0);
}

function stopxp(){
window.clearTimeout(tempo)
}
</script>


et pour le stockage dans une variable...
et les objets...
je vois pas...

en revanche je n'ai pas encore essayé le dernier code
enfin si en quelque sorte mais pas exactement comme indiqué
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

en fait non c'est bon c'est presque le même code il n'y a que la position du if et sa condition qui change mais sinon il me reste toujours le problème de la "reprise"...
après cela tout sera nickel...

petite info qui pourrait vous aidez à m'aider :
à la fin d'un combat le compteur de décrémentation de la vie s'arrête et il faudrait qu'il puisse reprendre lors d'un nouveau combat (les combats se faisant au clic par clic mais pour lancer une fonction je sais faire donc pas de soucis : onclick="parent.vie.fonction()" : j'utilise parent.vie car la map du jeu se trouve dans un iframe donc voilà pourquoi je rajouter ça si la question venait à être posée...).

voilà je pense que tout est là, merci encore d'avance pour votre aide
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

et joyeux noël !
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

up
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
DOWN, je pensais que tu t'en été sorti, pour la suite de ton jeu on ne peut pas le faire à ta place.

Pose des questions concrètes sur des sujets qui te posent problème.

Conseil, structure bien ton besoin et mets en face une fonction.



;O)
Messages postés
168
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
30 septembre 2011

bonjour,
non je ne veux pas qu'on fasse le jeu à ma place, j'aimerais comprendre comment faire pour attribuer un paramètre à une variable :

var x = param x ?

ou comment attribuer une valeur à une variable du genre

var x = false

et une fonction :

if combat = true
fonction combat
if combat = false
fonction stop combat

fonction debutcombat
var x = true

(en gros : reprise de ma question précédente, quelques messages auparavant dans ce sujet)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
...comment faire pour attribuer un paramètre à une variable...
ce sont les bases du javascript, comme le signe pour affectation et
pour la comparaison, il faut te documenter, on ne peut pas reprendre toutes les bases sur le forum...

je te remets un exemple simple et complet pour que tu regardes comment cela est faisable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>[PetoleTeam]Action Reaction</title>
</head>

 Lance 
Stop
Recommence



<script type ="text/javascript">
//-- declaration variable globale
var enCours = 0;
var iTimer  = null;
//---------------------
function Affiche( txt_){
  //-- recup element pour affichage
  var oDiv = document.getElementById('D_ECRIRE');
  //-- si texte on ajoute
  if( txt_){
    oDiv.innerHTML += txt_;
  }
  //-- sinon on efface
  else{
    oDiv.innerHTML = '';
  }
}
//-------------
function Stop(){
  //-- on clear le timer en cours
  clearTimeout( iTimer);
}
//-------------
function Start(){
  //-- on arrete d'abord l'encours eventuelle
  Stop();
  //-- relance fonction
  Avance( enCours +1);
}
//-------------
function Init(){
  //-- efface contenu
  Affiche('');
  //-- remise a zero compteur
  enCours = 0;
  //-- relance fonction via la fonction Start
  Start();
}
//----------------------
function Avance( param_){
  //-- sauvegarde valeur
  enCours = param_;
  //-- affichage de la valeur
  Affiche( param_ +' - ');
  //-- ajoute un retour chariot tout les 5
  if( param_ % 5 == 0){
    Affiche( '
');
  }
  //-- relance la fonction
  iTimer = setTimeout( function(){ Avance( param_ +1);}, 1000);
}
</script>
</html>

Il n'y a rien de bien compliqué, si ce n'est de la méthode et de l'application.
;O)
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
7
Pourquoi modifies-tu au juste la valeur de vie au lancement d'un combat ? Ce n'est pas nécessaire. Supprime la ligne et dis-moi si ça règle un de tes problèmes.


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !