Comment garder en mémoire la valeur d'une variable

ricky250r Messages postés 6 Date d'inscription mardi 5 juin 2012 Statut Membre Dernière intervention 5 juin 2012 - 12 avril 2012 à 16:49
dvwyns Messages postés 159 Date d'inscription mardi 2 janvier 2007 Statut Membre Dernière intervention 7 mai 2012 - 17 avril 2012 à 14:47
Je suis entrain de faire un petit jeu de mémoire et j'ai une variable qui affiche le record le plus bas mais quand je clic sur le bouton nouvelle partie mon record reste la jusqu'a la tout est bon mais quand je finit la partie le nouveau pointage prend la place du record meme s'il est plus élever j'ai écrit cette ligne de code mais elle garde pas la valeur la plus basse elle est remplacer a toute les partie par le nouveau score
Merci d'avance pour votre aide
//Variable Globale
nombre=0;
points=0;
tentatives=0;
//function Init pour réinitialiser la partie et la distribution des cartes
function init(){
img=new Array(20);
for (i=0;i<10;i++){
img[i]=i+1;
img[i+10]=i+1;
}
for (i=0;i<20;i++){
a=rnd(20);
b=img[a];
img[a]=img[i];
img[i]=b;
}
points=0;
tentatives=0;
document.getElementById('affNbCoup').innerHTML='0';
var i = 0;
for (i=0;i<=20;i++){
document.getElementById('cartepos'+i).src='0.png';
}
}
//function joue 
function joue(i){
if (img[i]!=-1){
if (nombre==0){
nombre=1;
case1=i;
change(i,img[i]+'.png',0);
}else if (nombre==1){
case2=i;
change(i,img[i]+'.png',0);
//compte le nombre de coup et affichage nombre de coup
tentatives++;
document.getElementById("affNbCoup").innerHTML=tentatives;
//vérification si les cartes sont identique
if (img[case1]==img[case2]){
points++;
img[case1]=-1;
img[case2]=-1;
if (points==10){
//affiche le record
document.getElementById("affRecord").innerHTML=Math.min(tentatives);
//message lorsque la partie est terminer
alert("Vous avez gagné");
}
}else{
setTimeout("change("+case1+",'0.png',0);change("+case2+",'0.png',0);", 1000);
}
nombre=0;
}
}
}
//function change pour le changement d'image avec timer
function change(image, j, avancement)
{	
document.images[image].src=j;
avancement++;
if (avancement<23)setTimeout("change("+image+", '"+j+"', "+avancement+");",10);
}
//function rnd pour distribuer les cartes jamais dans le meme ordre
function rnd(n)
{
var temp = Math.random();
if (temp==1) temp=0.9;
return Math.floor(temp * n);
}
//function nouvellepartie pour réinitialiser la partie lors du clic sur le bouton nouvelle partie
function nouvellePartie(){
init();
}

function pro(){
if(document.getElementById("checkPRO").value=checked){
if(tentatives===20){
alert("Partie Terminer")
}
}
}
//Pour initialiser la function init sur le onload
onload=init;	

1 réponse

dvwyns Messages postés 159 Date d'inscription mardi 2 janvier 2007 Statut Membre Dernière intervention 7 mai 2012
17 avril 2012 à 14:47
Salut,

J'aimerais bien t'aider mais tu n'es pas clair.
Quelle variable globale reprend le meilleur score ?
Ca me permettrait de voir ce que tu en fais dans le code.

C'est le jeu memory ?

Est ce que c 'est normal d'afficher le nombre de tentative dans la balise reprenant le record ?
document.getElementById("affRecord").innerHTML=Math.min(tentatives);

Je ne comprends pas ce que tu considères comme un record.
elle garde pas la valeur la plus basse

Tu veux garder ceux qui font le score le plus mauvais ?

Fin voilà, si tu veux un peu d'aide, soit plus clair
0
Rejoignez-nous