Mon fichier BATCH ne s’exécute pas correctement
Résolu
Alvin1614
Messages postés
107
Date d'inscription
Statut
Membre
Dernière intervention
-
valouvalivalo Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
valouvalivalo Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour, depuis quelque temps, je suis en train de faire un petit "nombre mystère" avec cmd. Tout fonctionnait correctement jusqu'à maintenant, il y avait deux joueurs avant mais j'ai voulu en rajouter un... et voilà. Je vous mes les commandes et j'espère qu'il y a un petit génie qui peut m'aider :
:jeux
@echo off
mode con: cols=30 lines=15
title Lz nombre mystère
color 6b
echo.
echo MiNi-GaMe By Aloïs !!
echo.
echo TROUVE LE NUMERO MYSTERE !!
echo.
echo.
echo
echo.
echo 1 ou 3 JOUEUR(S)
echo.
echo. Appuie sur entré pour commencer
echo.
pause>nul
:nbrjr
cls
echo.
echo NOMBRE DE JOUEUR ? (1 ou 3 (si tu veux trois tu mets 2)) :
echo.
set /p joueur=
if %joueur%==1 goto joueur1
if %joueur%==2 goto joueur2
if %joueur%==3 goto joueur3
) else (
goto nbrjr
:joueur1
cls
echo.
echo NV1 CHIFFRE MYSTERE DE 1-1000
echo ce jeu n'a pas encore d'autre niveau mais il sont en traveaux
IF ERRORLEVEL 1 set /a num=%RANDOM% %% 1000
echo.
echo ==============================
echo.
cls
:_error
color f1
echo.
echo.
set/p ch= CHIFFRE MYSTERE :
cls
set/a steps+=1
if %ch% lss %num% (
echo.
echo.
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est supérieur à : %ch%
echo.
goto _error
)else if %ch% gtr %num% (
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est inférieur à : %ch%
echo.
goto _error
) else (
cls
color e
echo.
echo BRAVO !!!!!!
echo %num%
echo.
echo.
echo NOMBRES DE TENTATIVES
echo %steps% fois
echo.
echo.
echo NIVEAU
if %steps% geq 20 (
echo Va vite faire ton boulot !!
C:\Users\production\Pictures\Penguins.jpg
) else if %steps% leq 1 (
echo *** excelent mec ***
) else if %steps% leq 2 (
echo Proche de la perfection
) else if %steps% leq 5 (
echo Pas mal !!
) else if %steps% leq 10 (
echo la tete ailleur...
) else if %steps% leq 20 (
echo tristesssssse... !!!!
)
)
pause>nul
set/a steps=0
goto replay
:joueur2
cls
set /p jr1= Prenom du Joueur 1 :
set /p jr2= Prenom du Joueur 2 :
set /p jr3= Prenom du Joueur 3 :
cls
echo.
:choixniv
cls
echo MODE 2 JOUEURS
echo.
echo NV1 CHIFFRE MYSTERE DE 1-1000
echo.
echo.
echo
===================================================
:niv1
cls
echo %jr1%
echo.
echo ENTRE LE CHIFFRE MYSTERE
echo POUR %jr2%
echo ENTRE 1 ET 1000
echo
:again1
set /p cm2= :
if %cm2% gtr 1000 (
echo Nombre inferieur a 1000 stp !!
timeout 2 >nul
goto again1
)
cls
echo %jr2%
echo.
echo ENTRE LE CHIFFRE MYSTERE
echo POUR %jr1%
echo ENTRE 1 ET 1000
:again2
set /p cm1= :
if %cm1% gtr 1000 (
echo Nombre inferieur a 1000 stp !!
timeout 2 >nul
goto again2
)
cls
echo %jr1% et %jr2%
echo
echo ENTRÉS LE CHIFFRE MYSTERE
echo POUR %jr3%
echo ENTRE 1 ET 1000
:again3
set /p cm1= :
if %cm0% gtr 1000 (
echo Nombre inférieur a 100 stp !!
timeout 2 >nul
goto again3
)
color f6
color a5
color b3
cls
:error1
color f1
echo.
echo.
set/p ch= %jr1% a toi de jouer :
cls
set/a steps1+=1
if %ch% lss %cm1% (
echo.
echo.
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est supérieur à : %ch%
echo.
goto error1
) else if %ch% gtr %cm1% (
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est inférieur à : %ch%
echo.
goto :error1
) else (
cls
color e
echo.
echo BRAVO %jr1%!!!!!!
echo %cm1%
color f5
color a5
color b3
echo.
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
:error2
color f1
echo.
echo.
set/p ch= %jr2% a toi de jouer :
cls
set/a steps2+=1
if %ch% lss %cm2% (
echo.
echo.
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est supérieur à : %ch%
echo.
goto error2
) else if %ch% gtr %cm2% (
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est inférieur à : %ch%
echo.
goto :error2
) else (
cls
color e
echo.
echo BRAVO %jr2%!!!!!!
echo %cm2%
color 5f
color 1a
color 6b
echo.
echo.
echo.
timeout 4 >nul
)
cls
:error2
color f1
echo.
echo.
set/p ch= %jr3% a toi de jouer :
cls
set/a steps2+=1
if %ch% lss %cm2% (
echo.
echo.
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est supérieur à : %ch%
echo.
goto error2
) else if %ch% gtr %cm2% (
echo.
echo.
echo.
echo.
echo Ce n'est pas le bon chiffre
echo Reessaye encore
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo Le nombre mystère est inférieur à : %ch%
echo.
goto :error2
) else (
cls
color e
echo.
echo BRAVO %jr3%!!!!!!
echo %cm2%
color 5f
color 1a
color 6b
timeout 2>nul
color 5f
color f5
color a4
color 4b
timeout 2>nul
echo LE GAGNANT EST :
echo CALCUL EN COUR...
timeout 5 >nul
if %steps1% gtr %steps2% %steps3%(
echo =======%jr2%========
echo.
echo.
echo NOMBRES DE TENTATIVES
echo %steps2% fois
) else (
echo =======%jr1%========
echo.=======%jr3%========
echo.
echo NOMBRES DE TENTATIVES
echo %steps1% fois
)
timeout 2 >nul
set/a steps1=1
set/a steps2=1
set/a steps3=1
goto replay
A voir également:
- Mon fichier BATCH ne s’exécute pas correctement
- Fichier bin - Guide
- Fichier epub - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Fichier rar - Guide
- Fichier batch - Guide
3 réponses
n'oublie pas de mettre les ":" dans les goto
exemple "goto :truc"
enlève le "IF ERRORLEVEL 1", sa merdouille
tu a oublié de fermer la parenthèse du else de la ligne 28
lorsque tu attribue un numéro au joueur 3,
tu nomme la variable cm1 puis cm0 (ligne 167,168)
qui se retrouve dans les if (ligne 304,322)
et dans un echo (ligne 346)
tu as 2 fois les balises "error2" (ligne 238,297)
une pour le joueur 2 et une autre pour le joueur 3
la variable "steps" du joueur 3 est appelé "steps2"
or elle est utilisé pour le joueur 2
tu as un else ligne 341 qui sert a rien
autant le supprimer surtout qu'il n’était pas fermé
ton "goto :replay" ne va sur rien, la balise replay étant inexistante
petit corrigé en bas
Sur ce bonne soiré :)
exemple "goto :truc"
enlève le "IF ERRORLEVEL 1", sa merdouille
tu a oublié de fermer la parenthèse du else de la ligne 28
lorsque tu attribue un numéro au joueur 3,
tu nomme la variable cm1 puis cm0 (ligne 167,168)
qui se retrouve dans les if (ligne 304,322)
et dans un echo (ligne 346)
tu as 2 fois les balises "error2" (ligne 238,297)
une pour le joueur 2 et une autre pour le joueur 3
la variable "steps" du joueur 3 est appelé "steps2"
or elle est utilisé pour le joueur 2
tu as un else ligne 341 qui sert a rien
autant le supprimer surtout qu'il n’était pas fermé
ton "goto :replay" ne va sur rien, la balise replay étant inexistante
petit corrigé en bas
Sur ce bonne soiré :)
:jeux @echo off mode con: cols=30 lines=15 title Lz nombre mystère color 6b echo. echo MiNi-GaMe By Aloïs !! echo. echo TROUVE LE NUMERO MYSTERE !! echo. echo. echo echo. echo 1 ou 3 JOUEUR(S) echo. echo. Appuie sur entré pour commencer echo. pause>nul :nbrjr cls echo. echo NOMBRE DE JOUEUR ? (1 ou 3 (si tu veux trois tu mets 2)) : echo. set /p joueur= if %joueur%==1 goto :joueur1 if %joueur%==2 goto :joueur2 if %joueur%==3 goto :joueur3 ) else ( goto :nbrjr ) :joueur1 cls echo. echo NV1 CHIFFRE MYSTERE DE 1-1000 echo ce jeu n'a pas encore d'autre niveau mais il sont en traveaux set /a num=%RANDOM%%%1000+1 echo. echo ============================== echo. cls :_error color f1 echo. echo. set /p ch= CHIFFRE MYSTERE : cls set /a steps+=1 if %ch% lss %num% ( echo. echo. echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est supérieur à : %ch% echo. goto :_error ) else if %ch% gtr %num% ( echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore echo. echo. echo. color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est inférieur à : %ch% echo. goto :_error ) else ( cls color e echo. echo BRAVO !!!!!! echo %num% echo. echo. echo NOMBRES DE TENTATIVES echo %steps% fois echo. echo. echo NIVEAU if %steps% geq 20 ( echo Va vite faire ton boulot !! C:\Users\production\Pictures\Penguins.jpg ) else if %steps% leq 1 ( echo *** excelent mec *** ) else if %steps% leq 2 ( echo Proche de la perfection ) else if %steps% leq 5 ( echo Pas mal !! ) else if %steps% leq 10 ( echo la tete ailleur... ) else if %steps% leq 20 ( echo tristesssssse... !!!! ) ) pause>nul set/a steps=0 goto :replay :joueur2 cls set /p jr1= Prenom du Joueur 1 : set /p jr2= Prenom du Joueur 2 : set /p jr3= Prenom du Joueur 3 : cls echo. :choixniv cls echo MODE 2 JOUEURS echo. echo NV1 CHIFFRE MYSTERE DE 1-1000 echo. echo. echo =================================================== :niv1 cls echo %jr1% echo. echo ENTRE LE CHIFFRE MYSTERE echo POUR %jr2% echo ENTRE 1 ET 1000 echo :again1 set /p cm2= : if %cm2% gtr 1000 ( echo Nombre inferieur a 1000 stp !! timeout 2 >nul goto :again1 ) cls echo %jr2% echo. echo ENTRE LE CHIFFRE MYSTERE echo POUR %jr1% echo ENTRE 1 ET 1000 :again2 set /p cm1= : if %cm1% gtr 1000 ( echo Nombre inferieur a 1000 stp !! timeout 2 >nul goto :again2 ) cls echo %jr1% et %jr2% echo echo ENTRÉS LE CHIFFRE MYSTERE echo POUR %jr3% echo ENTRE 1 ET 1000 :again3 set /p cm3= : if %cm3% gtr 1000 ( echo Nombre inférieur a 100 stp !! timeout 2 >nul goto :again3 ) color f6 color a5 color b3 cls :error1 color f1 echo. echo. set/p ch= %jr1% a toi de jouer : cls set/a steps1+=1 if %ch% lss %cm1% ( echo. echo. echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est supérieur à : %ch% echo. goto :error1 ) else if %ch% gtr %cm1% ( echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore echo. echo. echo. color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est inférieur à : %ch% echo. goto :error1 ) else ( cls color e echo. echo BRAVO %jr1%!!!!!! echo %cm1% color f5 color a5 color b3 echo. echo. echo. echo. echo. timeout 4 >nul ) cls :error2 color f1 echo. echo. set/p ch= %jr2% a toi de jouer : cls set/a steps2+=1 if %ch% lss %cm2% ( echo. echo. echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est supérieur à : %ch% echo. goto :error2 ) else if %ch% gtr %cm2% ( echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore echo. echo. echo. color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est inférieur à : %ch% echo. goto :error2 ) else ( cls color e echo. echo BRAVO %jr2%!!!!!! echo %cm2% color 5f color 1a color 6b echo. echo. echo. timeout 4 >nul ) cls :error3 color f1 echo. echo. set/p ch= %jr3% a toi de jouer : cls set/a steps3+=1 if %ch% lss %cm3% ( echo. echo. echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est supérieur à : %ch% echo. goto :error3 ) else if %ch% gtr %cm3% ( echo. echo. echo. echo. echo Ce n'est pas le bon chiffre echo Reessaye encore echo. echo. echo. color F2 ping -n 2 127.0.0.1 >NUL color F4 ping -n 2 127.0.0.1 >NUL cls echo. echo Le nombre mystère est inférieur à : %ch% echo. goto :error2 ) cls color e echo. echo BRAVO %jr3%!!!!!! echo %cm3% color 5f color 1a color 6b timeout 2>nul color 5f color f5 color a4 color 4b timeout 2>nul echo LE GAGNANT EST : echo CALCUL EN COUR... timeout 5 >nul if %steps1% gtr %steps2% %steps3%( echo =======%jr2%======== echo. echo. echo NOMBRES DE TENTATIVES echo %steps2% fois ) else ( echo =======%jr1%======== echo.=======%jr3%======== echo. echo NOMBRES DE TENTATIVES echo %steps1% fois ) timeout 2 >nul set/a steps1=1 set/a steps2=1 set/a steps3=1 goto :replay