Réponses random en batch

15Dream - 1 févr. 2023 à 10:30
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 - 3 févr. 2023 à 01:42

Bonjour,

je travail sur un projet de batch qui pourrai jouer a un deux trois pierre feuille ciseaux avec des réponses random. J'aimerai savoir comment faire en sorte qu'il réponde "PIERRE" "FEUILLE" ou "CISEAUX" de manière aléatoire, mais je n'y arrive pas. merci d'avance a ceux qui prendront le temp de lire ou de répondre. merci !

4 réponses

JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7
Modifié le 2 févr. 2023 à 10:50

Salut 15Dream,

Le plus simple pour toi est de créer une suite de choix ABC dans une chaîne, puis de capter le timer en secondes... et d'associer 1 choix sur 60 à l'heure de validation/capture de la question demandée.

En l'état, il est difficile de te répondre plus en avant, sans une ligne de code.

On est en BAT/CMD sous DOS, ou sur un language plus évolué (C# :C++en mode console) ?

Nota: Chercher aussi jeu du "Chifoumi".

0

Bonjour JeuDuTaquin,

Merci pour ta réponse. le type de fenêtre utilisé est la console, ta réponse marche mais je voudrais, si c'est possible, faire des réponses totalement aléatoires, j'ai pensé a une ligne de code mais je ne me rappel plus d'une partie de la ligne, si tu pourrais m'aider.

@echo off
:debut
set reponse= 0
set /p reponse= Entrez votre texte : 
if %reponse%==pierre goto random1
if %reponse%==feuille goto random1
if %reponse%==ciseaux goto random1
goto faux
:random1
cls
echo [je me rappel plus]
pause>nul
:faux
echo saisie incorrect, tappez entree pour reesayer
pause>nul
goto debut

je ne me rappel plus comment formuler le random, mais je ne suis pas non plus sur que l'on puisse ramplacer les nombre par autre chose, comme là :

::(formulation du random non reele mais metaphorique)
set pierre= goto pierre
set feuille= goto feuille
set ciseaux= goto ciseaux
random"%pierre%, %feuille%, %ciseaux%"
:pierre
echo pierre
:feuille
echo feuille
:ciseaux
echo ciseaux

voilà, merci aux personnes qui me répondront.

0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7
Modifié le 3 févr. 2023 à 19:58

Salut 15Dream,

J'ai trouvé sur google, et ce n'est pas trop fairplay pour le forum.

Mais en gros, tu dois générer un nombre aléatoire entre 0 et 2 et travailler sur ces trois choix.

How to generate a random number between 1 and 100 using batch - Stack Overflow

@ECHO OFF
SET /A RAND=%RANDOM% %%2
ECHO %RAND%
ECHO.
0
JeuDuTaquin Messages postés 249 Date d'inscription mardi 4 juillet 2017 Statut Membre Dernière intervention 31 mai 2023 7
3 févr. 2023 à 01:42

Voilà un exemple perfectible:

@ECHO OFF
:debut
set reponse= 0
set /P reponse= Entrez (0)Pierre (1)Papier (2)Ciseaux : 
ECHO.
if %reponse%==0 GOTO PIERRE
if %reponse%==1 GOTO PAPIER
if %reponse%==2 GOTO CISEAUX

ECHO Erreur...
PAUSE
GOTO FIN

:PIERRE

ECHO Tu joues...PIERRE
GOTO random1

:PAPIER
ECHO Tu joues...PAPIER
GOTO random1

:CISEAUX
ECHO Tu joues...CISEAUX


:random1

SET /A RAND=%RANDOM% %%3
ECHO.
if %RAND%==0 GOTO PIERRE2
if %RAND%==1 GOTO PAPIER2
if %RAND%==2 GOTO CISEAUX2

:pierre2
ECHO Je joue PIERRE
GOTO Test1

:PAPIER2
ECHO Je joue PAPIER
GOTO Test1

:CISEAUX2
ECHO Je joue CISEAUX

:Test1
ECHO.
ECHO.

if %reponse%==%RAND% goto EXEQUO

if %reponse%==0 goto PIERRE3
if %reponse%==1 goto PAPIER3
if %reponse%==2 goto CISEAUX3

GOTO FIN

:PIERRE3
if %RAND%==1 goto PERDU
if %RAND%==2 goto GAGNE

:PAPIER3
if %RAND%==0 goto GAGNE
if %RAND%==2 goto PERDU

:CISEAUX3
if %RAND%==0 goto PERDU
if %RAND%==1 goto GAGNE


GOTO FIN

:PERDU
ECHO Tu as perdu...
GOTO FIN

:GAGNE
ECHO Tu as gagne...
GOTO FIN

:EXEQUO
ECHO Exequo.

:FIN
ECHO.
ECHO.
PAUSE
0
Rejoignez-nous