Problème Batch

Résolu
Bonjour,

je cherche a faire un prg (pour rigoler...) qui choisi un chiffre en 1 et 100 et que je dois deviner.
j'ai fait ca mais dès que je tape le premier chiffre a proposer, j'ai une erreur de type ") était innatendu".

Je ne comprend pas. j'ai du surement faire une faute dans mon if mais laquelle ?

Merci de vos rep !

@echo off
set /a n=%random%%%100
echo %n%
set /P nbessai = entrer le nombre d'essai :

:jeu
set /P nbprop = "entrer un nombre... "
if %nbprop% > %n% (
echo c'est trop grand
%nbessai%=%nbessai%-1
if %nbessai%==0 ( echo tu a perdu
goto fin
)

goto jeu
)

if %nbprop% < %n% ( echo c'est trop petit
if %nbessai%==0 ( echo tu a perdu
goto fin
)
goto jeu
)

if %nbprop% = %n% ( echo t'as gagne !
goto fin
)

:fin

4 réponses

  1. salut ;)

    il ya beaucoup des fautes dans votre code , je vous dit la solution mais en cas des questions ... je suis préneur =)

    @echo off
    set /a n=%random%%%100
    echo %n%
    set /P nbessai = entrer le nombre d'essai :

    :jeu
    set /P nbprop= "entrer un nombre... "
    if "%nbprop%" GTR "%n%" (
    echo c'est trop grand
    set /a nbessai=%nbessai%-1
    if "%nbessai%"=="0" ( echo tu a perdu
    goto fin
    )

    goto jeu
    )

    if "%nbprop%" LSS "%n%" ( echo c'est trop petit
    if "%nbessai%"=="0" ( echo tu a perdu
    goto fin
    )
    goto jeu
    )

    if "%nbprop%"=="%n%" ( echo t'as gagne !
    goto fin
    )

    :fin
    pause
    0
    1. Salut, dans ton code y'a aussi une erreur :p

      if "%nbprop%" LSS "%n%" ( echo c'est trop petit  
      if "%nbessai%"=="0" ( echo tu a perdu  
      goto fin  
      )  
      goto jeu  
      ) 


      Ne pas oublier d'enlever - 1 au nombre d'essai :)

      if "%nbprop%" LSS "%n%" (  
      echo c'est trop petit 
      set /a nbessai=%nbessai%-1  
      if "%nbessai%"=="0" ( echo tu a perdu  
      goto fin  
      )  
      goto jeu  
      ) 


      Cdlt.

      nirG
      0
  2. Merci de ton aide.
    Reste un petit soucis sur le fait que le compteur d'essai de se décrémente pas.
    J'ai essayé de modifier certaines choses mais rien à faire.
    0
    1. Salut, voici une autre facon de faire :

      @echo off
      set /a n=%random%%%100 
      set /P nbessai="Entrer un nombre d'essai : "
      
      :jeu
      
      if "%nbessai%" LSS "1" (
      echo.
      echo C'est fini. Vous avez utilise tout vos essais ! Le chiffre etait : %n%
      goto fin)
      
      echo.
      set /P nbprop="Entrer un nombre : " 
      
      if "%nbprop%"=="%n%" goto win
      
      if "%nbprop%" GTR "%n%" (
      echo C est plus petit !
      goto calcul)
      
      if "%nbprop%" LSS "%n%" (
      echo C est plus grand !
      goto calcul)
      
      :calcul
      set /A nbessai=%nbessai% - 1
      goto jeu
      
      :win
      echo Vous avez trouve le bon nombre !
      
      :fin
      pause


      Cdlt.

      nirG
      0
      1. Merci beaucoup ca marche
        0