Sauvegarde meilleur score
Résolu
Nirsab
Messages postés
78
Date d'inscription
Statut
Membre
Dernière intervention
-
Nirsab Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Nirsab Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Quel code je dois ajouter pour sauvegarder le meilleur score même si il y a une remise à 0, stp ?
SVP, merci
Nirsab
Quel code je dois ajouter pour sauvegarder le meilleur score même si il y a une remise à 0, stp ?
$('.compteur').on('click', function (e) { e.preventDefault(); $val = $(this).attr('value').split('|'); $champ = '#compteur' + $val[0]; $new_score = parseInt($($champ).text()) + parseInt($val[1]); if ($new_score < 0) { $('#compteur' + $val[0]).text('0'); } else if ($new_score <= 3) { $('#compteur' + $val[0]).text($new_score); } else { $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE'); } }) $('.mise0').on('click', function (e) { e.preventDefault(); $val = $(this).attr('value').split('|'); $champ = '#compteur' + $val[0]; console.log("CHAMP",$champ); $($champ).text('0'); }) })
SVP, merci
Nirsab
A voir également:
- Sauvegarde meilleur score
- Logiciel de sauvegarde gratuit - Guide
- Meilleur site de telechargement - Accueil - Outils
- Meilleur site de vente entre particulier - Guide
- Meilleur site partage abonnement - Accueil - Services en ligne
- Sauvegarde facile - Télécharger - Sauvegarde
3 réponses
Bonjour,
Alors,
Tu veux sauvegarder où ?
- Dans une BDD ?
- En "local" dans le navigateur ( via le localstorage ou les cookies ) ?
A quel moment faut-il sauvegarder ? ( je pense à chaque modif des scores ... sauf si remise à zéro donc ) ?
A noter qu'on ne donne pas du code tout cuit ........ par contre on peut t'aider à corriger celui que tu proposerais.
Alors,
Tu veux sauvegarder où ?
- Dans une BDD ?
- En "local" dans le navigateur ( via le localstorage ou les cookies ) ?
A quel moment faut-il sauvegarder ? ( je pense à chaque modif des scores ... sauf si remise à zéro donc ) ?
A noter qu'on ne donne pas du code tout cuit ........ par contre on peut t'aider à corriger celui que tu proposerais.
Si je comprends bien, ce serait en local.
J'imagine le truc façon Questions Pour un Champion...
Par exemple, quand le joueur est à 3 pts, mettons qu'il réponde faux et ne parvienne pas à atteindre 4, son score enregistré est de 3 pts...
Je sais bien que vous ne donnez pas du tout cuit, sauf que je débute en JS, je commence à comprendre les bases...
Donc pour l'instant, je tâtonne...
J'imagine le truc façon Questions Pour un Champion...
Par exemple, quand le joueur est à 3 pts, mettons qu'il réponde faux et ne parvienne pas à atteindre 4, son score enregistré est de 3 pts...
Je sais bien que vous ne donnez pas du tout cuit, sauf que je débute en JS, je commence à comprendre les bases...
Donc pour l'instant, je tâtonne...
J'imagine le truc façon Questions Pour un Champion...
Par exemple, quand le joueur est à 3 pts, mettons qu'il réponde faux et ne parvienne pas à atteindre 4, son score enregistré est de 3 pts...
Alors non, dans question pour un champion, si il répond mal .. son score retombe à zéro.
Si je comprends bien, ce serait en local.
Tu peux donc utiliser le LOCALSTORAGE du navigateur.
Tu trouveras, sans mal, de nombreux tutos à ce sujet sur le net.
C'est ce que je dis, son score retombe à 0 mais les points qu'il a marqué sont conservés...
Alors on ne doit pas regarder la même émission ....
Non.. son score retombe à zéro .. et .... c'est tout ... si il est monté à trois et qu'il se foire ...il retombe à zéro .. et si le temps est écoulé .. c'est le score au moment du "gong" qui est gardé ...
Y'a pas de mal :)
Est-ce que je commence bien ? Que faut-il ajouter, corriger etc?
<div class="form-group"> <label for="2emequalifiee">3ÈME ÉQUIPE QUALIFIÉE:</label> </div> <div class="form-group"> <label for="compteur3">SCORE:</label> <div class="col-sm-2"> <span id="compteur3"><b>0</b></span> <span id="scoreMax"><b>0</b></span> </div> </div> <div> <button class="compteur" value="3|1" style="background-color:green">+1</button> <button class="mise0" value="3|0" style="background-color:red">0</button> </div>
$('.compteur').on('click', function (e) { e.preventDefault(); $val = $(this).attr('value').split('|'); $champ = '#compteur' + $val[0]; $new_score = parseInt($($champ).text()) + parseInt($val[1]); if ($new_score < 0) { $('#compteur' + $val[0]).text('0'); } else if ($new_score <= 3) { $('#compteur' + $val[0]).text($new_score); } else { $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE'); } }) $('.mise0').on('click', function (e) { e.preventDefault(); $val = $(this).attr('value').split('|'); $champ = '#compteur' + $val[0]; console.log("CHAMP",$champ); $($champ).text('0'); }) function scoreMax(){ localStorage.setItem('scoreMax', '#compteur'); }
Est-ce que je commence bien ? Que faut-il ajouter, corriger etc?
localStorage.setItem('scoreMax', '#compteur');
Là, il va mettre en mémoire la "string" #compteur
pour récupérer la valeur, il faut cibler l'élément voulu et en récupérer la valeur
Par exemple
let score = parseInt($("#compteur2").text()); // valeur du compteur02 localStorage.setItem('scoreMax2', score);
Dans la console, cela m'affiche ceci:
QPUC2.html:185 Uncaught SyntaxError: Identifier 'score' has already been declared
Il faut modifier le 'score' en quoi ?
QPUC2.html:185 Uncaught SyntaxError: Identifier 'score' has already been declared
Il faut modifier le 'score' en quoi ?
localStorage.setItem('scoreMax', '#compteur'); let score = parseInt($("#compteur1").text()); // valeur du compteur1 localStorage.setItem('scoreMax1', score); let score = parseInt($("#compteur2").text()); // valeur du compteur2 localStorage.setItem('scoreMax2', score); let score = parseInt($("#compteur3").text()); // valeur du compteur3 localStorage.setItem('scoreMax3', score);
Tu as du déjà utiliser la variable score ailleurs dans ton code et tu l'as défini en utilisant le mot clé CONST ...
Donc, ben.. renomme tes variables score1, score2 ... et ça devrait mieux fonctionner.
Mieux encore... faire une fonction pour le gérer..
par exemple
Donc, ben.. renomme tes variables score1, score2 ... et ça devrait mieux fonctionner.
Mieux encore... faire une fonction pour le gérer..
par exemple
function saveScore(numCompteur){ let scorexx = parseInt($("#compteur"+numCompteur).text()); // valeur du compteur X localStorage.setItem('scoreMax' + numCompteur , scorexx ); } function scoreMax(){ // boucle sur les 4 compteurs de la page for (var i=1;i<=4;i++){ saveScore(i); } }
Pour 3 compteurs.. suffit d'adapter le i dans la boucle
Et .. pour ne garder que le score le plus haut
Bien entendu, il faut déclencher l'appel à la fonction scoreMax pour que ça marche
à la fin de ta fonction
Et .. pour ne garder que le score le plus haut
function saveScore(numCompteur){ let scorexx = parseInt($("#compteur"+numCompteur).text()); // valeur du compteur X let ancienScore = localStorage.getItem('scoreMax'+numCompteur); console.log('Précédent Score ',ancienScore); // si le précédent scrore est plus petit que le nouveau.. on sauvegarde if(ancienScore < scorexx ){ console.log('Score sauvegardé',scorexx); localStorage.setItem('scoreMax' + numCompteur , scorexx ); } } function scoreMax(){ // boucle sur les 3 compteurs de la page for (var i=1;i<=3;i++){ console.log('compteur :',i); saveScore(i); } }
Bien entendu, il faut déclencher l'appel à la fonction scoreMax pour que ça marche
à la fin de ta fonction
$('.compteur').on('click', function (e) {par exemple