Compte à rebours aléatoire

Fermé
Sacha - 7 janv. 2017 à 10:58
 Utilisateur anonyme - 7 janv. 2017 à 15:34
Bonjour à tous, cela fait quelques jours que je me creuse la cervelle pour arriver à mes fins, mais ça bloque. Mon but et de faire marcher une fonction avec une autre fonction mais j'y arrive pas. J'ai une fonction qui génère des nombres aléatoire entre 2 et 10 inclus et une autre qui est un compte à rebours en secondes dans lequel je peux changer les secondes (les deux fonction sont ci-dessous). Si je pouvais avoir votre aide sa m'arrangerai beaucoup merci d'avance !

//Fonction de nombre aléatoire
function getRandomIntInclusive(min,max) {
min = Math.ceil(2);
max = Math.floor(10);
console.log(Math.floor(Math.random() * (max - min +1)) + min);
}

//Fonction de compte à rebours
function count(n, el){
n = (typeof +n == "number" && n > -1) ? parseInt(n) : 60;
parentScript = [].slice.call(document.getElementsByTagName('script')).pop().parentNode;
el = (typeof el == "object") ? el : ((typeof parentScript != undefined) ? parentScript : {});
el.innerText = n--;
if (n > -1) setTimeout(function(){ count(n, el); }, 1000);
}
A voir également:

1 réponse

Utilisateur anonyme
7 janv. 2017 à 15:34
N'oublies pas d'utiliser la balise
<code js></code >
pour entourer ton JS et qu'on puisse le lire simplement.

Déjà cette fonction ne sera jamais utilisable.
function getRandomIntInclusive(min,max) {
min = Math.ceil(2);
max = Math.floor(10);
console.log(Math.floor(Math.random() * (max - min +1)) + min);
}


Premier point, les paramètres min et max ne seront jamais utilisable, vu que tu les remplaces par 2 et 10 ensuite.

Deuxième point, tu ne retournes rien, enfin tu obtiens le résultat avec un console.log, mais tu ne peux pas l'utiliser dans une autre fonction.

Voilà le code rectifié:
function getRandomIntInclusive(max, min) {
    min = (typeof +min == "number" && min > 1) ? parseInt(min) : 2;
    max = (typeof +max == "number" && parseInt(max) > min) ? parseInt(max) : min+1;
    return Math.floor(Math.random() * (max - min + 1)) + min;
}


Bon déjà les 2 premières lignes servent à vérifier le min et max, si il y a une erreur ça sera entre 2 et 3, ici le max doit toujours être supérieur au min d'au moins 1

Ensuite j'ai interverti le min,max en paramètre, comme ça tu n'as juste à préciser le max.

Et pour utiliser il suffit de faire:

count(getRandomIntInclusive(50))
0