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, 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
    1. 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.
      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
        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