[Batch] Détection de touche

Résolu
cs-bilou Messages postés 836 Statut Membre -  
 Anonymous151001 -
Bonjour,
Je voudrais savoir si il y a moyen de faire un sorte de pause et si la personne appuis sur "D" sa affiche par exemple "Vous avez appuyer sur la touche D"
Si quelqu'un a une idée.
Merci.

Bilou.
--
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
Configuration: Windows XP
Firefox 3.0.7

9 réponses

  1. cs-bilou Messages postés 836 Statut Membre 164
     
    Cool merci je vais étudier se batch.
    Merci.
    2
  2. Utilisateur anonyme
     
    A ok.
    dsl

    Alors il faut utiliser "choice".

    Le code doit ressembler à sa :

    @echo off
    cls
    choice.exe /c:ABCDEFGHIJKLMNOPQRSTUVWXYZ /n "Entrez une touche...  "
    if "%errorlevel%"=="1" echo "Vous avez appuyé A"
    if "%errorlevel%"=="2" echo "Vous avez appuyé B"
    if "%errorlevel%"=="3" echo "Vous avez appuyé C"
    if "%errorlevel%"=="4" echo "Vous avez appuyé D"
    if "%errorlevel%"=="5" echo "Vous avez appuyé E"
    if "%errorlevel%"=="6" echo "Vous avez appuyé F"
    if "%errorlevel%"=="7" echo "Vous avez appuyé G"
    if "%errorlevel%"=="8" echo "Vous avez appuyé H"
    if "%errorlevel%"=="9" echo "Vous avez appuyé I"
    if "%errorlevel%"=="10" echo "Vous avez appuyé J"
    if "%errorlevel%"=="11" echo "Vous avez appuyé K"
    if "%errorlevel%"=="12" echo "Vous avez appuyé L"
    if "%errorlevel%"=="13" echo "Vous avez appuyé M"
    if "%errorlevel%"=="14" echo "Vous avez appuyé N"
    if "%errorlevel%"=="15" echo "Vous avez appuyé O"
    if "%errorlevel%"=="16" echo "Vous avez appuyé P"
    if "%errorlevel%"=="17" echo "Vous avez appuyé Q"
    if "%errorlevel%"=="18" echo "Vous avez appuyé R"
    if "%errorlevel%"=="19" echo "Vous avez appuyé S"
    if "%errorlevel%"=="20" echo "Vous avez appuyé T"
    if "%errorlevel%"=="21" echo "Vous avez appuyé U"
    if "%errorlevel%"=="22" echo "Vous avez appuyé V"
    if "%errorlevel%"=="23" echo "Vous avez appuyé W"
    if "%errorlevel%"=="24" echo "Vous avez appuyé X"
    if "%errorlevel%"=="25" echo "Vous avez appuyé Y"
    if "%errorlevel%"=="26" echo "Vous avez appuyé Z"
    pause>nul


    Le code est faux, je ne me souviens plus des options exact de "choice"... Tappe "choice.exe -help" dans le cmd pour corriger le code.

    Si tu n'y arrive toujours pas, je récupère mon PC sous Windows dans 4-5 jours (en panne), je te ferai le code.

    @+

    H4RDW4RE
    1
  3. Utilisateur anonyme
     
    Salut
    Je ne suis pas sous Windows là, mais sa doit donner quelque chose comme sa :

    @echo off
    cls
    set /p TOUCHE=Entrez une touche...
    echo.
    echo Vous avez appuyé sur la touche %TOUCHE%.
    pause>nul

    Je ne peut pas le tester, mais cela doit être cela...

    @+
    0
    1. Anonymous151001
       
      @echo off
      color c
      :menu
      cls
      choice /c wasd /n /m ""
      if %errorlevel%==13 goto 13
      pause>nul
      :13
      cls
      echo.
      echo Tu as appuyer sur D
      echo.
      pause>nul
      goto menu
      1
  4. cs-bilou Messages postés 836 Statut Membre 164
     
    Oui je connais set /p
    Mais comme une pause sans appuyer sur entré après.
    Merci.

    Bilou.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. cs-bilou Messages postés 836 Statut Membre 164
     
    Merci sa marche super bien.
    J'ai déjà entendu parler de cette commande choice.
    Mais il fallait l'installer ce que j'ai fait et sa marche super.
    Merci.
    0
  7. Utilisateur anonyme
     
    De rien, si t'as d'autres soucis, JUST ASK ;)
    0
  8. cs-bilou Messages postés 836 Statut Membre 164
     
    Oaui enfaite je tes demandé sa pour faire une sorte jeux.
    Et j'aurais voulue savoir s'il y avait un moyen de faire un truc pour les cordonnées du style x et y.
    Je pense a une commande for.
    Mais je ne sais pas.
    Merci.
    0
  9. Utilisateur anonyme
     
    Tiens, c'est un petiit "jeux".
    Tu pourra l'utiliser pour t'aider sur les axes X et Y.

    @echo off
    cls
    title Jeux
    mode con LINES=17 COLS=29
    rem ------------------------------------
    rem  Initialisations
    rem ------------------------------------
    set /A X=5
    set /A dX=1
    set /A Y=2
    set /A dY=1
    set VAR=O
    set VAR_MUR=±
    :debut
    rem ------------------------------------
    rem  Création de la ligne du curseur
    rem ------------------------------------
      rem --- décalage colonne ---
      set /A colonne=0
      :decal_col_avant
        if %colonne% GEQ %X% GOTO decal_col_avant_termine
        set VAR=^ %VAR%
        set /A colonne+=1
        goto decal_col_avant
      :decal_col_avant_termine
      rem --- décalage colonne pour le mur de droite ---
      set /A X_restant=25-%X%
      :decal_col_apres
        if %X_restant% EQU 0 GOTO decal_col_apres_termine
        set VAR_MUR=^ %VAR_MUR%
        set /A X_restant-=1
        goto decal_col_apres
      :decal_col_apres_termine
      set VAR=±%VAR%%VAR_MUR%
    rem ------------------------------------
    rem  Affichage
    rem ------------------------------------
      cls
      echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±
    
      rem --- décalage ligne avant ---
      set /A Y_decal_ligne=%Y%-1
      for /L %%j IN (0,1,%Y_decal_ligne%) DO (
        echo ±                          ±
      )
      rem --- ligne curseur ---
      echo %VAR%
      rem --- décalage ligne après ---
      set /A Y_restant=11-%Y%
      for /L %%j IN (0,1,%Y_restant%) DO (
        echo ±                          ±
      )
      echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±
      echo === X=%X% (%dX%), Y=%Y% (%dy%) ===
    rem ------------------------------------
    rem  Calculs des rebonds
    rem ------------------------------------
      if %Y% EQU 12 SET /A dY*=-1
      if %Y% EQU 0 SET /A dY*=-1
      if %X% EQU 25 SET /A dX*=-1
      if %X% EQU 0 SET /A dX*=-1
    rem ------------------------------------
    rem  Réinitialisation de variables
    rem  pour la prochaine boucle
    rem ------------------------------------
      set VAR=O
      set VAR_MUR=±
      set /A X+=dX
      set /A Y+=dY
      set /A nb-=1
    rem ------------------------------------
    rem  Temporisation si nécessaire (à décommenter)
    rem  XP: utiliser choice avec temporisation
    rem      et donner la possibilité de quitter
    rem ------------------------------------
    rem  ping 127.0.0.1 -n 2 > NUL 2> NUL
    goto debut


    C'est un code que j'ai trouvé très "basique" sur un site, et je l'ai un peu modifier.

    @+
    0
  10. Biniou226 Messages postés 14 Statut Membre
     
    SVP quel est le code pour les flèches parce que je voudrais faire une menu de jeux et c'est pas très cool de choisir son mode de jeux avec des lettres.

    Je connais le code pour toutes les lettres :
    @echo off
    choice.exe /c:ABCDEFGHIJKLMNOPQRSTUVWXYZ /n
    if "%errorlevel%"=="1" echo "Vous avez appuyé A"
    if "%errorlevel%"=="2" echo "Vous avez appuyé B"
    if "%errorlevel%"=="3" echo "Vous avez appuyé C"
    if "%errorlevel%"=="4" echo "Vous avez appuyé D"
    if "%errorlevel%"=="5" echo "Vous avez appuyé E"
    if "%errorlevel%"=="6" echo "Vous avez appuyé F"
    if "%errorlevel%"=="7" echo "Vous avez appuyé G"
    if "%errorlevel%"=="8" echo "Vous avez appuyé H"
    if "%errorlevel%"=="9" echo "Vous avez appuyé I"
    if "%errorlevel%"=="10" echo "Vous avez appuyé J"
    if "%errorlevel%"=="11" echo "Vous avez appuyé K"
    if "%errorlevel%"=="12" echo "Vous avez appuyé L"
    if "%errorlevel%"=="13" echo "Vous avez appuyé M"
    if "%errorlevel%"=="14" echo "Vous avez appuyé N"
    if "%errorlevel%"=="15" echo "Vous avez appuyé O"
    if "%errorlevel%"=="16" echo "Vous avez appuyé P"
    if "%errorlevel%"=="17" echo "Vous avez appuyé Q"
    if "%errorlevel%"=="18" echo "Vous avez appuyé R"
    if "%errorlevel%"=="19" echo "Vous avez appuyé S"
    if "%errorlevel%"=="20" echo "Vous avez appuyé T"
    if "%errorlevel%"=="21" echo "Vous avez appuyé U"
    if "%errorlevel%"=="22" echo "Vous avez appuyé V"
    if "%errorlevel%"=="23" echo "Vous avez appuyé W"
    if "%errorlevel%"=="24" echo "Vous avez appuyé X"
    if "%errorlevel%"=="25" echo "Vous avez appuyé Y"
    if "%errorlevel%"=="26" echo "Vous avez appuyé Z"
    pause>nul

    Merci d'avance. :)
    0