Alerte Console JS
FerméNirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 - 8 août 2022 à 16:56
- Settimeout' handler took
- Fausse alerte mcafee - Accueil - Piratage
- Fausse alerte connexion facebook - Guide
- Console action - Accueil - Jeu vidéo
- Problème console vélo elliptique domyos ✓ - Forum Loisirs / Divertissements
- Steam vous avez une alerte concernant votre compte - Forum Jeux vidéo
9 réponses
4 août 2022 à 10:44
bonjour,
as-tu fait le lien entre le message d'erreur et la ligne de code?
quand tu partages le contenu d'un fichier, peux-tu préciser le nom du fichier?
Modifié le 4 août 2022 à 10:55
Euh... J'ai juste compris que ca foire à cet endroit... Mais ce que je ne comprends pas, c'est que pour les premières questions, ça fonctionne, et après... (Il y a 11 questions pour chaque thème)
function question() { var min = 0; var max = 12; aleatoire = Math.floor(Math.random() * (max - min)) + min; if (questions.length === max) { alert('Toutes les questions ont été posées !'); } else if ($.inArray(parseInt(aleatoire), questions) === -1) { quest = listeQuestions[numTheme][aleatoire][1]; // FOIRAGE $('#question').text(quest); questions.push(aleatoire); console.log(questions);
4 août 2022 à 11:30
Quelle est la valeur de la variable "aleatoire" au moment où cela foire?
4 août 2022 à 11:47
var min = 0; var max = 12; aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire if (questions.length === max) { alert('Toutes les questions ont été posées !'); } else if ($.inArray(parseInt(aleatoire), questions) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées quest = listeQuestions[numTheme][aleatoire][1]; // FOIRAGE $('#question').text(quest); // affiche la nouvelle question questions.push(aleatoire); // rempli le tableau des questions déjà posées console.log(questions); } else function question() { // rappelle la fonction pour trouver un nouveau nombre aléatoire non utilisé } } $("#reponseButton").on("click", function () { $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); // affiche la réponse });
Je ne sais pas si ça répond à ta question...
Sinon, ça loupe très aléatoirement. J'ai refais le test plusieurs fois:
une fois c'est à la question 7, une autre à la 9, encore une autre à la 6...
De plus, quand je choisi un nouveau thème, c'est ce même bug,.. En plus, la question ne s'affiche pas correctement et la réponse n'est pas correctement donnée... Peut-être est-ce lié...
4 août 2022 à 12:03
Modifie ton code pour obtenir la valeur de la variable "aleatoire" dans la console.
Modifié le 4 août 2022 à 12:52
Alors: Chose faite. cela donne ça. Normalement je devrais cliquer une fois sur le bouton 'question', et dès que j'ai cette alerte en rouge, ca foire... pour avoir la Q6, j'ai dû m'exciter sur la souris... Et aussi, il arrive que le bouton 'réponse' ne donne pas la réponse correspondante à la question.
Et même délire dès que je change de thème où là, le bouton question ne fonctionne pas...
var min = 0; var max = 12; aleatoire = Math.floor(Math.random() * (max - min)) + min; if (questions.length === max) { alert('Toutes les questions ont été posées !'); } else if ($.inArray(parseInt(aleatoire), questions) === -1) { quest = listeQuestions[numTheme][aleatoire][1]; // FOIRAGE console.log(aleatoire); // MODIFICATION $('#question').text(quest); questions.push(aleatoire); console.log(questions); } else function question() { } } $("#reponseButton").on("click", function () { $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); });
4 août 2022 à 12:56
Moi, si je voulais avoir la valeur d'une variable au moment où cela foire, je mettrais le console.log() avant la ligne où cela foire, pas après.
En passant, penses-tu que ta ligne 14 est correcte?
4 août 2022 à 10:55
$('#questionButton').on('click', function () { if (numTheme === '') { alert("Choisissez d'abord un thème"); timerManager.start(); } else { if (decompteLance === 'non') { $secondes = 120; $('#countdown_sec').text($secondes); timerManager.start($secondes); decompteLance = 'oui'; } $("#reponse").text(""); question(); // avec un retour ici...
4 août 2022 à 14:10
Que vaut donc la variable "aleatoire" au moment du plantage?
Te souviens-tu de à quoi sert cette variable?
As-tu écrit ce programme? Le comprends-tu?
Que veux-tu faire précisément en ligne 14? Sais-tu à quoi sert le mot clé "function"?
4 août 2022 à 14:24
Je suis débutant, mais j'apprends...
La variable aléatoire me permet de piocher une question aléatoire dans un array, que je n'ai pas envoyé... les questions sont numérotées de 0 à 11
Ce programme, je l'ai fait avec un ami, parti en vacances... (En fait, je fais une soirée avec ce jeu demain soir avec des potes... et si ca bug bah... pas de soirée, quoi)
Je comprends ce programme, avec les connaissances que j'ai... Et à cette ligne 14, comme je le comprends, il me permet de retourner la fonction...
bref voici le programme en naturel:
quand je choisi un thème, une case est grisée et dans chaque thème (dans un array) il y a 11 questions.
Quand je clique sur le bouton question, cela m'affiche une question aléatoire, qui sera 'mise de côté' pour ne pas qu'elle ressorte plus tard. Quand je clique sur le bouton réponse, cela doit afficher la réponse à cette question. Quand je reclique sur le bouton question, cela doit m'afficher une question non posée... (Chose qui fonctionne un temps et à un moment ça part en live... ce fameux message d'erreur, et le bouton réponse qui affiche ce qu'il veut.. WHY ?) Ensuite, si je souhaite choisir un autre thème, alors là, c'est foiré...
Modifié le 4 août 2022 à 14:38
function question() { var min = 0; var max = 10; // ET SI JE METS 12 AU LIEU DE 10, C'EST SUR QUE CA FOIRE aleatoire = Math.floor(Math.random() * (max - min)) + min; if (questions.length === max) { alert('Toutes les questions ont été posées !'); } else if ($.inArray(parseInt(aleatoire), questions) === -1) { console.log(aleatoire); quest = listeQuestions[numTheme][aleatoire][1]; // FOIRAGE $('#question').text(quest); questions.push(aleatoire); console.log(questions); } else function question() { } } $("#reponseButton").on("click", function () { $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); // console.log(listeQuestions[numTheme][aleatoire][2]); });
Pour le premier essai, ca passe à peu près, quoique des fois je dois m'exciter sur le bouton pour afficher ma question et qu'il arrive que la réponse ne correspondent pas... Une fois que les 11 questions sont posées, le programme m'affiche que toutes les questions ont été posées... Mais impossible d'afficher les questions pour un nouveau thème choisi....
4 août 2022 à 15:29
Si tu regardes dans la console, que vaut donc la variable "aleatoire" au moment du plantage?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionModifié le 4 août 2022 à 15:51
Elle valait 11. Du coup, cela m'a permis de comprendre.... j'ai mal renseigné la variable max
Donc, plus de de bug de ce côté là...
Maintenant, j'aimerais comprendre:
-- pourquoi, vers la 7ème question, je dois cliquer sur le bouton question plusieurs fois (genre 10x) avant qu'elle n'affiche la suivante...
-- pourquoi, lorsque je choisis un nouveau thème, ET quand toutes les questions du thème précédent sont posées, aucune question ne s'affiche et que j'ai le alert("Toutes les questions ont été posées") qui ne fait que s'afficher quand je clique sur le bouton questions...
(ça m'affiche ça à chaque clique sur le ok de l'alert :
[Violation]'click' handler took 1135ms jquery-3.5.1.min.js:2
[Violation]'click' handler took 1774ms jquery-3.5.1.min.js:2
[Violation]'click' handler took 1330ms jquery-3.5.1.min.js:2
[Violation]'click' handler took 1320ms query-3.5.1.min.js:2
)
SVP :). Et merci de prendre le temps de m'aider :-)
4 août 2022 à 15:54
Je pense que le moment est venu de réfléchir au rôle du mot clé "function".
https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Functions
4 août 2022 à 16:10
Je viens de lire l'article...
Dans ce cas, je ne suis pas sûr de comprendre mon cas...
Est-ce que cela veut dire que je dois utiliser une boucle ? un return ? voire carrément changer la méthode ? :-O
Là, je crois que j'ai besoin de pas à pas...
4 août 2022 à 16:49
function question() { var debut; var min = 0; var max = 11; aleatoire = Math.floor(Math.random() * (max - min)) + min; if (questions.length === max) { alert('Toutes les questions ont été posées !'); } else if ($.inArray(parseInt(aleatoire), questions) === -1) { console.log(aleatoire); quest = listeQuestions[numTheme][aleatoire][1]; $('#question').text(quest); questions.push(aleatoire); console.log(questions); } else function question() { } } $("#reponseButton").on("click", function () { $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); return debut });
Bon ainsi, cela ne fonctionne pas...
(Peut-être que mon tâtonnement intéressera d'autres débutants comme moi...)
4 août 2022 à 17:21
Comprends-tu la différence entre définir une fonction et y faire appel?
4 août 2022 à 17:43
Ah ! Vas-y explique-moi stp (simple, basique ;D)
4 août 2022 à 18:23
4 août 2022 à 18:45
D'accord, je l'ai lu et relu... mais cela ne m'aide pas vraiment à comprendre où ça coince...
4 août 2022 à 19:00
Regarde peut-être comment ce font les déclarations et les appels d'autres fonctions, dans ton code.
4 août 2022 à 19:20
function choixThemes() { var min = 0; var max = 20; aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire if ($.inArray(parseInt(aleatoire), themes) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées themes.push(aleatoire); // rempli le tableau des thèmes déjà choisis } if (themes.length < 4) { // relance la function tant qu'on n'a pas 4 thèmes choixThemes(); } }
Celle-ci par exemple... Que dois-je comparer ?
(Je commence à baliser pour demain, moi)
4 août 2022 à 20:08
Tout ce que tu apprends te servira encore après demain.
Où se trouve la déclaration de la fonction?
N'as-tu pas dans ton code d'autres appels à la fonction?
4 août 2022 à 20:48
certes mais c'est pour demain que cela doit fonctionner...
Cette fonction n'est appelée qu'ici..
4 août 2022 à 21:34
Imagine comme tu seras fier quand tu comprendras pourquoi et comment cela focntionne.
En quelques secondes, je trouve un autre endroit où il est fait appel à cette fonction.
5 août 2022 à 07:29
Je ne demande que ça: COMPRENDRE !! lol Voilà ce que tu as demandé... Je ne la vois nulle part ailleurs, cette fonction question()... Je ne réussirai jamais à finir ça pour cet am ;'-(
$('#questionButton').on('click', function () { if (numTheme === '') { alert("Choisissez d'abord un thème"); timerManager.start(); } else { if (decompteLance === 'non') { $secondes = 120; $('#countdown_sec').text($secondes); timerManager.start($secondes); decompteLance = 'oui'; } $("#reponse").text(""); question(); // APPEL FONCTION } }); function question() { // FONCTION var min = 0; var max = 11; aleatoire = Math.floor(Math.random() * (max - min)) + min; if (questions.length === max) { alert('Toutes les questions ont été posées !'); } else if ($.inArray(parseInt(aleatoire), questions) === -1) { console.log(aleatoire); quest = listeQuestions[numTheme][aleatoire][1]; $('#question').text(quest); questions.push(aleatoire); console.log(questions); } else function question() { // APPEL FONCTION } } $("#reponseButton").on("click", function () { $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); });
5 août 2022 à 08:41
Regarde bien comment cela s'organise pour la fonction choixThemes().
En ligne 22 du code montré au départ, tu as un appel à la fonction, une demande d'éxécution de la fonction:
choixThemes(); // recherche 4 thèmes de façon aléatoire
Dans le code que tu as partage en #24, tu as une déclaration de la fonction, qui définit ce que fait la fonction (tu peux observer que, dans certains cas, la fonction fait appel à elle-même:
function choixThemes() { var min = 0; var max = 20; aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire if ($.inArray(parseInt(aleatoire), themes) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées themes.push(aleatoire); // rempli le tableau des thèmes déjà choisis } if (themes.length < 4) { // relance la function tant qu'on n'a pas 4 thèmes choixThemes(); } }
Comme signalé le 4 août 2022 à 12:56, la ligne de code suivante ne fait pas du tout appel à la fonction question().
} else function question() { // APPEL FONCTION
5 août 2022 à 08:47
Moui... donc il faut intervertir 2 choses ?
c'est vraiment flou, désolé :'-(
Modifié le 5 août 2022 à 16:34
Salut, non ce n'est pas une question d'intervertir mais de syntaxe: il faut écrire correctement votre if else.
Le mieux si vous ne savez pas c'est de regarder dans le manuel:
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/if...else
Cela ne fonctionne que si vous avez les bases du langage. Comme déclarer une variable, les différents types de variable, savoir créer et utiliser une fonction et les structures de test(ou conditionnele) comme if else (si et sinon en français) ce que visiblement vous avez loupé.
Evidemment une fonction ne doit pas faire appel à elle même dans la plupart des cas, le reste c'est une exception appelée singleton mais pas pertinent ici.
Voyez une fonction comme un regroupement d'instructions avec un nom(ou pas ce sont les fonctions anonymes) et bien sûr une fonction peut en appeler une autre mais pas s’appeler elle même ce qui n'aurait aucun sens ou serait une boucle infini autrement dit un bug.
Exemple: ma fonction "dit mon nom". La fonction doit donc dire le nom et pas appeler la fonction qui dit le nom sinon on tourne en rond et rien ne se passe. JavaScript indique une erreur plutôt que d'essayer de faire un boucle infini(parce qu'elle demande d’appeler la fonction qui va à nouveau appeler la fonction etc... au lieu de faire pour quoi elle est prévue).
ps: dans un premier temps n'utilisez pas JQuery qui n'est qu'une bibliothèque JavaScript et va vous embrouiller et vous donner des mauvaises habitudes surtout qu'ici ça ne se justifie pas de l'utiliser et n'aura pour effet que de ralentir votre code, donc votre page.
Modifié le 8 août 2022 à 16:57
Merci pour ces explications :)
Ca commence à être plus clair.
Juste encore 3 bugs:
1: Le bouton stop du chrono fait que le chrono s'arrête mais repart quand même là où il s'est arrêté
2: Si toutes les questions sont posées dans le temps imparti, lorsque je choisis un nouveau thème, le chrono ne reprend pas à 60s
3: si le chrono affiche 0 à la fin du temps, et si on choisi un autre thème, le chrono ne redémarre pas...
Voici le code: Et une fois que tout sera réglé, je ne vous dérange plus, jusqu'à la prochaine fois lol :)
<!DOCTYPE html> <html> <head> <title>Questions pour un Champion</title> <meta charset="utf-8"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css"> </head> <body> <div class="container-fluid"> <div class="row"> <div class="col"> <div class="alert alert-danger" role="alert" style="text-align: center;font-weight: bold;"> <h1>MAX À LA SUITE</h1> <button class="btn btn-warning" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample"> <i class="fas fa-hand-sparkles"></i> Règles </button><br/> <div class="collapse" id="collapseExample" style="margin-top: 10px"> <div class="alert alert-warning" style="text-align: justify"> 4 thèmes sont proposées. L'équipe éliminée à la manche précédente choisira d'entrée de jeu le thème pour chaque équipe en course parmi ces thèmes. Les joueurs de l'équipe répondront à tour de rôle (Joueur A, puis B, puis C, puis A etc...). Les questions sont posées aléatoirement. Chaque réponse apporte 1 point. En cas de mauvaise réponse, le score retombe à 0 et ne sera conservé que le score affiché en fin de chrono. Le but est d'avoir le plus de points à la suite, avant la fin de la liste de 11 questions, le tout en 60 secondes ou moins. En cas d'égalité, un jeu décisif aléatoire sera proposé. Les 2 équipes ayant réalisé les meilleures performances seront qualifiées pour la manche finale. </div> </div> </div> </div> </div> <div class="row"> <div class="col"> <button id="themesAleatoires" class="btn btn-info" type="button"><i class="fas fa-list-ol"></i> 4 Thèmes</button> <br/><br/> <div id="themes" style="font-size: 18px"></div> </div> <div class="col"> <table class="table table-striped table-bordered"> <thead> <tr class="table-success"> <th>ÉQUIPES QUALIFIÉES + JOUEUR A, B, C</th> <th>SCORE</th> <th>COMPTEUR</th> </tr> </thead> <tbody> <tr> <td>1ère Équipe Qualifiée <input></td> <td><span id="compteur1" style="font-size: 20px"><b>0</b></span></td> <td> <button class="btn btn-success compteur" value="1|1" type="button"><i class="fas fa-plus"></i> 1</button> <button class="btn btn-danger mise0" value="1|0" type="button"><i class="fab fa-creative-commons-zero"></i></button> </td> </tr> <tr> <td>2ème Équipe Qualifiée <input></td> <td><span id="compteur2" style="font-size: 20px"><b>0</b></span></td> <td> <button class="btn btn-success compteur" value="2|1" type="button" ><i class="fas fa-plus"></i> 1</button> <button class="btn btn-danger mise0" value="2|0" type="button"><i class="fab fa-creative-commons-zero"></i></button> </td> </tr> <tr> <td>3ème Équipe Qualifiée <input></td> <td><span id="compteur3" style="font-size: 20px"><b>0</b></span></td> <td> <button class="btn btn-success compteur" value="3|1" type="button"><i class="fas fa-plus"></i> 1</button> <button class="btn btn-danger mise0" value="3|0" type="button"><i class="fab fa-creative-commons-zero"></i></button> </td> <!-- <tr> <td>4ème Équipe Qualifiée <input></td> <td><span id="compteur4"><b>0</b></span></td> <td> <button class="btn btn-success compteur" value="4|1" type="button"><i class="fas fa-plus"></i> 1</button> <button class="btn btn-danger mise0" value="4|0" type="button"><i class="fab fa-creative-commons-zero"></i></button> </td> </tr> --> </tr> </tbody> </table> </div> </div> <div class="row"> <div class="col"> <div id="theme" class="alert alert-primary" role="alert">Thème...</div> <table class="table table-borderless"> <tbody> <tr> <td><button id="questionButton" class="btn btn-warning" type="button"><i class="far fa-comment-dots"></i> Question</button></td> <td><div id="question" style="font-size: 25px"></div></td> </tr> <tr> <td><button id="reponseButton" class="btn btn-primary" type="button"><i class="far fa-lightbulb"></i> Réponse</button></td> <td><div id="reponse" style="font-size: 20px"></div></td> <td><button id="stopChrono" class="btn btn-primary" type="button" style="background-color:red;"><i class="far fa-stop-circle"></i> Stop</button></td> </tr> </tbody> </table> </div> <div class="col"> <div class="alert alert-danger" role="alert" style="text-align:center;"> <b>Temps restant :</b><br> </div> <div class="jumbotron" style="text-align:center;font-size:2em;font-weight:bold"> <span id="countdown_sec">60 secondes</span> </div> </div> </div> <div> <div class="col"> <table class="table table-borderless"> <tbody> <tr> <td><div id="decisif" class="alert alert-primary" role="alert">Jeu décisif</div></td> <td><button id="jeuDecisif" class="btn btn-warning" type="button" style="background-color:hotpink;"><i class="far fa-handshake"></i> Jeu</button></td> <td><button id="reglejd" style="background-color:lightgray"><i class="fas fa-hand-sparkles"></i> Règles</td> <td><button id="quiJoueJD" style="background-color:lightgreen"><i class="fab fa-playstation"></i> Qui joue ?</td> <!-- <td><button id="chronometre" class="btn btn-warning" type="button" style="background-color:burlywood;"><i class="fas fa-stopwatch"></i> Chrono</button></td> <td><button id="stopChrono" class="btn btn-warning" type="button" style="background-color:palevioletred;"><i class="far fa-stop-circle"></i> Stop</button></td> <td><button id="back0Chrono" class="btn btn-warning" type="button" style="background-color:silver;"><i class="fas fa-undo-alt"></i> Mise à 0</button></td> --> </tr> </tbody> </table> <!-- <div class="alert alert-danger" role="alert" style="text-align:center;"> <b>Temps :</b> </div> <div class="jumbotron" style="text-align:center;font-size:2em;font-weight:bold"> <span id="countup_sec">0 secondes</span> --> </div> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> <!-- <script src="""></script> --> <script> $(document).ready(function () {//n'apparait qu'une fois// var chrono; // gestion du chrono var decompteLance = 'non'; // pour empêcher le bouton Question de lancer plusieurs fois le chrono var aleatoire; // nombre aléatoire var themes = []; // affichage de 4 thèmes aléatoires var numTheme = ''; // thème choisit var questions = []; // questions déjà posées //var precedente = null; // question/réponse précédente // Affichage de 4 thèmes aléatoires $('#themesAleatoires').on('click', function () { $('#themes').text(''); // vide la liste des thèmes themes = []; // vide le tableau de mémorisation des thèmes choixThemes(); // recherche 4 thèmes de façon aléatoire afficheThemes(); // affiche les 4 thèmes }); // Choix d'un thème particulier (grise le bouton et le desactive) // la syntaxe d'appel est différente car les boutons de choix n'existent pas encore au chargement de la page $(document).on('click', '.choisirTheme', function () { numero = $(this).attr('value'); numTheme = themes4alasuite[numero][0]; // mémorise le numéro du thème choisit theme = themes4alasuite[numero][1]; // $('#theme').text('THEME : ' + theme); // affiche le thème choisi en-dessous du bouton Question $(this).css('background-color', 'grey'); // colore le bouton en gris $(this).attr('disabled', 'disabled'); // désactive le bouton // nouveau ---------------------------------------------------------------------------- $('#questionButton').attr('disabled', false) // réactive the bouton de questions questions = [] // s'assure que la liste des questions posées sur ce thème est bien vide. }); $('#questionButton').on('click', function () { if (numTheme === '') { alert("Choisissez d'abord un thème"); timerManager.start(); } else { if (decompteLance === 'non') { $secondes = 60; // définit le nombre de secondes $('#countdown_sec').text($secondes); //affiche 50 dans le chrono timerManager.start($secondes); // lance le timer decompteLance = 'oui'; } $("#reponse").text(""); question(); } }); function question() { var min = 0; var max = (listeQuestions[numTheme]).length; // <----------------------- max dépend du nombre de questions pour ce thème aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire if (questions.length === max) { alert('Toutes les questions ont été posées !'); $('#questionButton').attr('disabled', true) // <------------ désactive le bouton des questions timerManager.stop(); } else if (! questions.includes(parseInt(aleatoire))) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées quest = listeQuestions[numTheme][aleatoire][1]; $('#question').text(quest); // affiche la nouvelle question questions.push(aleatoire); // rempli le tableau des questions déjà posées } else { question() // rappelle la fonction pour trouver un nouveau nombre aléatoire non utilisé } } $("#reponseButton").on("click", function () { $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); // affiche la réponse }); // Ajoute des points à une équipe $('.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 <= 10) { $('#compteur' + $val[0]).text($new_score); } else { $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE') } }); // Remet le nombre de points d'une équipe à zéro $('.mise0').on('click', function () { $val = $(this).attr('value').split('|'); $champ = '#compteur' + $val[0]; console.log("CHAMP", $champ); $($champ).text('0'); }); // Recherche 4 thèmes de façon aléatoire function choixThemes() { var min = 0; var max = 20; aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire if ($.inArray(parseInt(aleatoire), themes) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées themes.push(aleatoire); // rempli le tableau des thèmes déjà choisis } if (themes.length < 4) { // relance la function tant qu'on n'a pas 4 thèmes choixThemes(); } } // Affiche, sous forme de boutons, les thèmes trouvés function afficheThemes() { $.each(themes, function (index, value) { $('#themes').append('<button class="btn btn-danger choisirTheme" value="' + value + '" type="button" >'); $('#themes').append(' ' + themes4alasuite[value][1] + '</br>'); $('#themes').append('</button>'); }); } // Affiche une question aléatoire dans le thème choisi $('#stopChrono').on('click', function () { $("#countdown_sec").text("0"); timerManager.stop("0") }); timerManager = { start: function ($secondes) { $secondes = $secondes - 1; // provoque le décompte if ($secondes >= 0) { // tant que le chrono est supérieur à zéro timer = setTimeout(function () { // éxécute le code toutes les 1000 millisecondes $("#countdown_sec").text($secondes); // affiche le temps restant timerManager.start($secondes); // rappelle la fonction }, 1000); } else { timerManager.stop(); // arrête le chrono } }, stop: function () { clearTimeout(chrono); $('#countdown_sec').text('0'); $("#theme").text("THEME :" + ""); $("#question").text(""); $("#reponse").text(""); } }; $('#jeuDecisif').on('click', function () { var min = 0; var max = 7; aleatoire = Math.floor(Math.random() * (max - min)) + min; $('#jeuDecisif').text(jeudecisif[aleatoire][1]); $('#reglejd').text(jeudecisif[aleatoire][2]); $('#quiJoueJD').text(jeudecisif[aleatoire][3]); }); jeudecisif = [ [0, 'Ni oui, ni non', 'Qui tiendra le plus longtemps sans dire les mots interdits ?', 'Un joueur par équipe'], [1, 'Le mot de passe', 'Qui fera deviner le plus de mots possible en 2 min?', 'Un joueur par équipe'], [2, 'L\'Alpha-bête', 'Qui sera capable de réciter l\'alphabet à l\'envers, le plus loin possible sans se tromper ?', 'Un joueur par équipe'], [3, 'Dans mon sac, il y a...', 'Quel joueur fera gagner son équipe à ce jeu de mémoire tonitruant ?', 'Tous les joueurs de chaque équipe'], [4, 'Jeu du dictionnaire', 'Qui donnera les 3 définitions les plus proches (drôles ?) de ces mots inconnus au bataillon ?', 'Réponse collégiale de chaque équipe'], [5, 'Mix Sing Can', 'Qui sera capable de chanter un cantique avec une autre musique dans les oreilles ? Au premier qui craque !', 'Un joueur par équipe'], [6, 'Plus ou Moins', 'Qui trouvera le nombre le plus rapidement ?', 'Un joueur par équipe'] ]; jeudecisif = [ [0, 'Ni oui, ni non', 'Qui tiendra le plus longtemps sans dire les mots interdits ?', 'Un joueur par équipe'], [1, 'Le mot de passe', 'Qui fera deviner le plus de mots possible en 2 min?', 'Un joueur par équipe'], [2, 'L\'Alpha-bête', 'Qui sera capable de réciter l\'alphabet à l\'envers, le plus loin possible sans se tromper ?', 'Un joueur par équipe'], [3, 'Dans mon sac, il y a...', 'Quel joueur fera gagner son équipe à ce jeu de mémoire tonitruant ?', 'Tous les joueurs de chaque équipe'], [4, 'Jeu du dictionnaire', 'Qui donnera les 3 définitions les plus proches (drôles ?) de ces mots inconnus au bataillon ?', 'Réponse collégiale de chaque équipe'], [5, 'Mix Sing Can', 'Qui sera capable de chanter un cantique avec une autre musique dans les oreilles ? Au premier qui craque !', 'Un joueur par équipe'], [6, 'Plus ou Moins', 'Qui trouvera le nombre le plus rapidement ?', 'Un joueur par équipe'] ]; themes4alasuite = [ [0, 'La géographie'], [1, 'DJ français'], [2, 'Histoire de France'], [3, 'Le mode de vie des grenouilles'], [4, 'La généalogie de Barak Obama'], [5, 'Les polices d\'écriture'], [6, 'Les langues mortes'], [7, 'Les Youtubers français'], [8, 'Charlie Chaplin'], [9, 'Les marques de téléphones portables'], [10, 'Les couleurs de robe de cheval'], [11, 'Les animaux du passé'], [12, 'Les rois du Maroc'], [13, 'La population chinoise'], [14, 'Des personnages très connus... Ou pas !'], [15, 'Beethoven'], [16, 'Que s\'est-il passé en...'], [17, 'Chiffres, Nombres et Dates'], [18, 'Vrai ou Faux'], [19, 'Thème des grands dangers !!'] ]; listeQuestions = { '0': [//La géographie// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '1': [//DJ// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '2': [//Hist fr// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '3': [//grenouille// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '4': [//obama// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '5': [//police// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '6': [//langues mortes// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '7': [//youtuber [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '8': [//chaplin [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '9': [//poryable [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '10': [//cheval [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '11': [//anim passé [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '12': [//maroc [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '13': [//popula chine [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '14': [//Des personnages très connus... Ou pas !// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '15': [//betoven [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '16': [//Que s'est-il passé en...// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '17': [//Chiffres, Nombres et Dates// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '18': [//Vrai ou Faux// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ], '19': [//Thème des grands dangers !!// [0, '0', '0'], [1, '1', '1'], [2, '2', '2'], [3, '3', '3'], [4, '4', '4'], [5, '5', '5'], [6, '6', '6'], [7, '7', '7'], [8, '8', '8'], [9, '9', '9'], [10, '9', '9'] ] }; }); </script> </body> </html>