Sauvegarde meilleur score
Résolu/Fermé
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
-
2 août 2021 à 13:32
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 - 2 août 2021 à 18:21
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 - 2 août 2021 à 18:21
A voir également:
- Sauvegarde meilleur score
- Meilleur site de telechargement - Accueil - Outils
- Logiciel de sauvegarde - Guide
- Meilleur mini pc - Accueil - Guide ordinateurs
- Meilleur site de vente entre particulier - Guide
- Score pc - Guide
3 réponses
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
2 août 2021 à 14:11
2 août 2021 à 14:11
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.
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
Modifié le 2 août 2021 à 14:32
Modifié le 2 août 2021 à 14:32
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...
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
2 août 2021 à 14:49
2 août 2021 à 14:49
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.
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
>
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
2 août 2021 à 14:51
2 août 2021 à 14:51
C'est ce que je dis, son score retombe à 0 mais les points qu'il a marqué sont conservés...
Merci je vais regarder...
Merci je vais regarder...
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
>
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
2 août 2021 à 14:55
2 août 2021 à 14:55
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é ...
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
>
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
2 août 2021 à 14:56
2 août 2021 à 14:56
Oui, voilà... c'est ce que je cherche à faire...
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
>
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
2 août 2021 à 15:11
2 août 2021 à 15:11
donc tu n'as pas besoin de conserver le score même si remise à zéro ......
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
2 août 2021 à 15:57
2 août 2021 à 15:57
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?
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
2 août 2021 à 16:32
2 août 2021 à 16:32
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);
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
>
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
2 août 2021 à 16:39
2 août 2021 à 16:39
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);
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
>
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
Modifié le 2 août 2021 à 16:44
Modifié le 2 août 2021 à 16:44
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); } }
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
>
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
2 août 2021 à 16:54
2 août 2021 à 16:54
Cela ne fonctionne pas...
Il faut changer le numCompteur et scorexx ?
Sur la page j'ai 3 compteurs...
Il faut changer le numCompteur et scorexx ?
Sur la page j'ai 3 compteurs...
jordane45
Messages postés
38307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
>
Nirsab
Messages postés
78
Date d'inscription
samedi 17 juillet 2021
Statut
Membre
Dernière intervention
8 août 2022
2 août 2021 à 17:06
2 août 2021 à 17:06
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