besoin de conseil
Posté : 04 août 2019 01:21
j'ai fais un jeu feuille pierre ciseau qui marche sauf qu'a un moment je veux dire le choix de l'utilisateur (la pas de souci) et le choix de l'ordi( il ecrit ce que donne l'ordi mais ça marque 0 ,1 ou 2 ce qui est normal car j'utilise Random) j'ai donc voulu changer le chiffre par feuille pierre ou ciseau mais j'arrive pas à le faire .je dois mal le declarer, j'ai mis sur le code mon souci. voici mon code.
si possible je voudrais comprendre pourquoi ça ne marche pas ou alors je déclare mal mon if.
Code : Tout sélectionner
:Restart
@echo off
title Jeux: Feuille-Pierre-Ciseau
color 5f
mode con cols=50 lines=15
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Feuille-Pierre-Ciseau º»
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼº
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
set /a choix=%Random%%%3
if /i %choix%==2 set /a choixb=ciseau ::<----------- souci ici il prend pas en compte choixb
if /i %choix%==1 set /a choixb=pierre ::<----------- souci ici il prend pas en compte choixb
if /i %choix%==0 set /a choixb=feuille ::<----------- souci ici il prend pas en compte choixb
echo>nul %choix%
: Question
echo.
echo choisissez entre feuille, pierre ou ciseau?
echo -------------------------------------------
set /p item=
if /i %choix%==2 (if %item% == pierre goto :gagne)
if /i %choix%==2 (if %item% == feuille goto :perdu)
if /i %choix%==2 (if %item% == ciseau goto :egalite)
if /i %choix%==1 (if %item% == feuille goto :gagne)
if /i %choix%==1 (if %item% == ciseau goto :perdu)
if /i %choix%==1 (if %item% == pierre goto :egalite)
if /i %choix%==0 (if %item% == ciseau goto :gagne)
if /i %choix%==0 (if %item% == pierre goto :perdu)
if /i %choix%==0 (if %item% == feuille goto :egalite)
if not %item%==ciseau goto :erreur
if not %item%==pierre goto :erreur
if not %item%==feuille goto :erreur
echo.
:egalite
echo.
echo vous avez choisi: %item% ; l'ordi a choisi: %choixb% ::<----------- pourtant j'ai mis choixb ici
echo.
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo !!!!!!!!!!!!!!!! egalite parfaite !!!!!!!!!!!!!!!!
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo.
set /p continuer=Voulez vous rejouer(y,n)?
if %continuer%==y call :Restart
if %continuer%==n goto :Pub
if not %continuer%==y goto :recommence
if not %continuer%==n goto :recommence
goto :eof
:perdu
echo.
echo vous avez choisi: %item% ; l'ordi a choisi: %choixb% ::<----------- pourtant j'ai mis choixb ici
echo.
echo --------------------------------------------------
echo ---------------- vous avez perdu -----------------
echo --------------------------------------------------
echo.
set /p continuer=Voulez vous rejouer(y,n)?
if %continuer%==y call :Restart
if %continuer%==n goto :Pub
if not %continuer%==y goto :recommence
if not %continuer%==n goto :recommence
goto :eof
:gagne
echo.
echo vous avez choisi: %item% ; l'ordi a choisi:%choixb% ::<----------- pourtant j'ai mis choixb ici
echo.
echo +++++++++++++++++++++++++++++++++++++++++++++++++
echo ++++++++++++++++ vous avez gagne ++++++++++++++++
echo +++++++++++++++++++++++++++++++++++++++++++++++++
echo.
set /p continuer=Voulez vous rejouer(y,n)?
if %continuer%==y call :Restart
if %continuer%==n goto :Pub
if not %continuer%==y goto :recommence
if not %continuer%==n goto :recommence
goto :eof
:recommence
echo mauvaise saisie ecrire: y(pour oui), n(pour non)
echo.
set /p continuer=Voulez vous rejouer(y,n)?
if %continuer%==y call :Restart
if %continuer%==n goto :Pub
if not %continuer%==y goto :recommence
if not %continuer%==n goto :recommence
goto :eof
:erreur
echo mauvaise saisie recommencez
pause
goto :question
:Pub
echo.
echo *****************************************
echo * je vous remercie d'avoir jouer *
echo * mon pseudo est Vimper *
echo * j'ai programmer ce petit jeu *
echo * j'espere que vous avez pris plaisir *
echo *****************************************
echo.
pause