11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde.

Étant débutant dans ce langage j'ai décidé de me lancer dedans et parmi les choses que j'essaie de faire, je suis actuellement sur un classique Pierre Feuille Ciseau en Javascript.

Donc je crois avoir fait tout ce qu'il fallait mais il semblerait qu'un problème que je ne trouve pas semble subsister.

En premier lieu voila les codes :

************

Le code de la page HTML :

*******

Mon soucis est donc le suivant :

Je choisis donc un chiffre, et cela me retourne bien mon choix ainsi que celui de l'ordi via pfc(); et ordi(); comme ça :

PIERRE FEUILLE CISEAU

Vous avez choisi le ciseau
Ordi a choisi la pierre

En revanche, ma fonction compareplz(); ne m'affiche rien et donc ne fais pas son travail. Donc j'imagine qu'il me manque quelque chose mais je ne trouve pour l'instant pas quoi Smiley decu .

Un coup de main serait le bienvenue pour terminer ce petit exercice.

Cordialement
Modifié par shupi (20 May 2013 - 14:04)
Bonjour,
Les variables moi et ordi que tu compares sont déclarées dans tes fonctions pfc et ordinateur. Elles n'existent pas pour ta fonction compareplz. Le débuggeur Javascript te le dit : « Uncaught ReferenceError: moi is not defined ». Il te faut donc les déclarer en dehors, ou alors les passer en paramètres de ta fonction compareplz.

De plus, le bout de code Math.round((Math.random()*2) + 1) ne constitue pas un générateur aléatoire satisfaisant. En effet (Math.random()*2) + 1 retourne un nombre entre 1 (inclus) et 3 (exclus). Si on considère que Math.random() est un générateur aléatoire parfait (ce qui est discutable) alors tu as 25% de chance de renvoyer 1, 50% de chance de renvoyer 2 et 25% de chance de retourner 3.
Une amélioration serait ceci : Math.floor((Math.random()*3) + 1). Tu as alors 33% de chance pour chaque valeur.
Dernier détail : ta fonction pfc lorsque tu la déclare n'a pas besoin de recevoir le paramètre choix.

Sinon ton code est fonctionnel.
Bonne continuation.
En fait c'était tout c** .

Merci et merci aussi pour le math floor plus efficace, c'est bon à savoir Smiley smile