Salut à tous,
Voilà ce que je dois faire:
Travail à faire : Ecrire un script intitulé jeu qui consiste à faire trouver par l'utilisateur la valeur d'un entier x en un nombre limité de coups.
Si l'utilisateur saisit une valeur supérieure à x on affichera "trop grand", si elle est inférieure on affichera "trop petit" et enfin si l'utilisateur trouve la valeur exacte on affichera "gagne !!". A chaque essai on affichera également le nombre d'essais restants. A la fin si l'utilisateur n'a pas trouvé x on affichera "perdu !!".
Le nombre d'essais sera fixé par une variable nbcoups et la valeur de x sera tirée aléatoirement grâce à la variable système RANDOM. Utilisez le modulo pour réduire l'intervalle du tirage.
Exemple: si x entre [0,20] alors nbcoups=5
et voilà ce que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 @écho off cls set x=%RANDOM% set nbcoups=5 :début set /p val=Saisir un nombre entier entre 0 et 20 inclus: if i/ %val% GTR %x% echo Trop grand… & goto cprest if i/ %val% LSS %x% echo Trop petit & goto cprest if i/ %val% EQU %x% echo Gagné !!! & goto fin :cprest set /a nbcoups=%nbcoups%-1 if i/ %nbcoups% GTR 0 echo Il vous reste %nbcoups% coups… & goto début if i/ %nbcoups% EQU 0 echo Perdu !!! :fin
le problème, c'est que ça m'affiche "Trop grand..." ou "Trop petit" mais après ça m'affiche "4 était innatendu".
Donc voilà, j'ai 2 problèmes en somme: le script bug au niveau de "set /a nbcoups=%nbcoups%-1" je pense, et j'aimerai aussi que random pioche dans l'intervalle [0 ; 20] et pas dans l'intervalle [0 : 32767]...
Merci d'avance pour vos futurs réponses, bye![]()
Partager