JSFiddle - React, Tailwind, and code Playground
HTML
<div id="mot">Tenez vous prêt</div>
<input type="button" id="next" value="SUIVANT" />
<input type="button" id="pass" value="PASSER" />
<div id="res">
</div>
JavaScript
var files = [
"Abeille",
"Baleine",
"Cachalot",
"Cerf",
"Chat",
"Chèvre",
"Chien",
"Cigale",
"Coq",
"Cygne",
"Dauphin",
"Dindon",
"Dromadaire",
"Girafe",
"Gorille",
"Grenouille",
"Hérisson",
"Hyène",
"Hippopotame",
"Koala",
"Kangourou",
"Lama",
"Lézard",
"Lièvre",
"Lion",
"Loup",
"Morse",
"Ours",
"Otarie",
"Panda",
"Paresseux",
"Pélican",
"Phoque",
"Poisson",
"Raton laveur",
"Requin",
"Rhinocéros",
"Sanglier",
"Sauterelle",
"Serpent",
"Suricate",
"Tapir",
"Toucan",
"Tigre",
"Zebre"
]
//initialisation du compteur associé a chaque mot
var i = -1;
var cpt = [];
var tours = 0;
var gagne = 0;
while (files[++i]) {
files[i] = [files[i]];
files[i]['count'] = 0;
}
//Fonction de tri sur compteur
function sortmots(a, b) {
return (a.count > b.count) ? 1 : -1;
}
function nouv_mot(trouve) {
tours++;
var nb = Math.floor(Math.random() * files.length);
document.getElementById('mot').innerHTML = files[nb];
//incrément des compteurs
if (trouve) {
files[nb].count++;
gagne++;
console.log (trouve)
}
// tri de l'array
files.sort(sortmots);
//affichage du classement:
var j = -1,
chaine = [],
gains = [],
done = 0;
while (files[++j]) {
chaine.push(files[j][0] + " tiré " + files[j].count + " fois")
gains.push(files[j].count);
}
gains.sort();
done = gains[0];
document.getElementById('res').innerHTML = "Tirages : " + tours + "<br/>Mots trouvés: " + gagne + "<br/>" + ((done > 0) ? "Tous les Mots ont été tirés au moins " + done + " fois <br/>" : "") + chaine.join("<br/>");
}
$(function() {
$('#next').on('click', function() {
nouv_mot(true);
});
$('#pass').on('click', function() {
nouv_mot(false);
});
});