|
Par
JoSé2
Mise à jour : 22/07/2009
5 116 visites depuis 7 jours,
dont 120 sur ce chapitre
classé 38/786
|
).1 2 3 4 5 | function nb_aleatoire(min, max) { var nb = min + (max-min+1)*Math.random(); return Math.floor(nb); } |
1 2 | var de = nb_aleatoire(1, 6); alert("Vous lancez un dé et obtenez " + de); |
.

), en lui indiquant combien de coups il lui a fallu.
.
).1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var nb = nb_aleatoire(1, 100); // nb a deviner var cpt = 0; // nb de coups var saisie; var msg = 'Le nombre à deviner est compris entre 1 et 100.'; do { saisie = prompt(msg); cpt++; // message a afficher au prochain tour : if(saisie > nb) msg = "C'est moins"; else msg = "C'est plus"; } while(saisie != nb); alert("Bravo, tu as gagne en " + cpt + " coups !"); |
) va consister à créer une fonction (on va l'appeler PoM_manche), qui jouera une manche de PoM, et qui renverra le score (au lieu de l'afficher). C'est donc, à quelques modifications près, le code que vous avez réalisé.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function PoM_manche(min, max) { var nb = nb_aleatoire(min, max); var cpt = 0; var saisie; var msg = 'Le nombre a deviner est compris entre ' + min + ' et ' + max + '.'; do { saisie = prompt(msg); cpt++; if(saisie > nb) msg = "C'est moins"; else msg = "C'est plus"; } while(saisie != nb); return cpt; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var cpt = 0; // nb de manches jouees var best_score = 0; // meilleur score var score; // score de la partie en cours do { score = PoM_manche(1, 100); cpt++; if(score < best_score || best_score == 0) best_score = score; continuer = confirm("Bravo, tu as gagne en " + score + " coups.\nVeux-tu rejouer ?"); } while(continuer); // affichage du meilleur score alert("Tu as joue " + cpt + " manche(s).\nTon meilleur score est de " + best_score + " coups."); |
), mais on va régler la variable continuer à false (ce qui aura le même effet que si on lui avait demandé et qu'il avait refusé).1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | function PoM_manche(min, max) { var nb = nb_aleatoire(min, max); // nb a deviner var cpt = 0; // nb de coups pour le trouver var saisie; // nb tape par le joueur var msg = 'Le nombre a deviner est compris entre ' + min + ' et ' + max + '.'; do { saisie = prompt(msg); // si "Annuler" if(saisie == null) return 0; cpt++; if(saisie > nb) msg = "C'est moins"; else msg = "C'est plus"; } while(saisie != nb); return cpt; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | function PoM_partie(min, max) { var cpt = 0; // nb de manches jouees var best_score = 0; // meilleur score var score; // score de la partie en cours var continuer; do { score = PoM_manche(min, max); // joue la manche if(score) { cpt++; if(score < best_score || best_score == 0) best_score = score; continuer = confirm("Bravo, tu as gagne en " + score + " coups.\nVeux-tu rejouer ?"); } else continuer = false; } while(continuer); alert("Tu as joue " + cpt + " manche(s).\nTon meilleur score est de " + best_score + " coups."); return best_score; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>TD : Jeu du "plus ou moins"</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript"> <!-- function nb_aleatoire(min, max) { var nb = min + (max-min+1)*Math.random(); return Math.floor(nb); } function PoM_manche(min, max) { var nb = nb_aleatoire(min, max); // nb a deviner var cpt = 0; // nb de coups pour le trouver var saisie; // nb tape par le joueur var msg = 'Le nombre a deviner est compris entre ' + min + ' et ' + max + '.'; do { saisie = prompt(msg); // si "Annuler" if(saisie == null) return 0; cpt++; if(saisie > nb) msg = "C'est moins"; else msg = "C'est plus"; } while(saisie != nb); return cpt; } function PoM_partie(min, max) { var cpt = 0; // nb de manches jouees var best_score = 0; // meilleur score var score; // score de la partie en cours var continuer; do { score = PoM_manche(min, max); // joue la manche if(score) { cpt++; if(score < best_score || best_score == 0) best_score = score; continuer = confirm("Bravo, tu as gagne en " + score + " coups.\nVeux-tu rejouer ?"); } else continuer = false; } while(continuer); alert("Tu as joue " + cpt + " manche(s).\nTon meilleur score est de " + best_score + " coups."); return best_score; } //--> </script> </head> <body> <p> <a href="#" onclick="javascript:PoM_partie(1,63)">Niveau Zér0</a><br /> <a href="#" onclick="javascript:PoM_partie(1,100)">Niveau Normal</a><br /> <a href="#" onclick="javascript:PoM_partie(0,250)">Niveau Geek</a> </p> </body> </html> |
.