[Batch] Afficher variable.

Résolu/Fermé
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 20 mars 2009 à 18:07
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 22 mars 2009 à 19:35
Bonjour,
Je voudrait afficher une variable qui est dans une variable.
Je m'explique:

@echo off
set nbr=X

set var1=patate.au.fromage
set var2=tartiflette.au.fromage
set var1=raclette.au.fromage
set var4=patte.au.fromage

echo %var%nbr%:~0,4%

pause


Et si a la place de X je met :
- 1 sa m'affiche patat
- 2 sa m'affiche tarti
- 3 sa m'affiche racle
- 4 sa m'affiche patte
Voila je voudrait faire sa.
Si quelqu'un a une idée je suis preneur.

Bilou.

Donc voila.
Bilou.

10 réponses

.:Goox:. Messages postés 2816 Date d'inscription lundi 22 mai 2006 Statut Contributeur Dernière intervention 7 janvier 2017 2 216
20 mars 2009 à 18:22
Salut!

Je t'ai pondu ce petit truc:

@echo off
set /p nbr= Entrez le nombre:
set var1=0
set var2=0
set var4=0
if %nbr%== 1 (set var1=patate)
if %nbr%== 2 (set var2=tarti)
if %nbr%== 3 (set var1=raclette)
if %nbr%== 4 (set var4=patte)


if not %var1%==0 (echo %var1%)
if not %var2%==0 (echo %var2%)
if not %var4%==0 (echo %var4%)
pause


0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
20 mars 2009 à 18:43
C'est super sympa mais je suis un chieur je suis pas encore content :p.
Enfaite je te refait mon script.

@echo off
set nbr=X

set var1=patate.au.fromage
set var2=tartiflette.au.fromage
set var1=raclette.au.fromage
set var4=patte.au.fromage

echo %var%nbr%:~0,Y%

pause

Alors voila X et Y peuvent changer.
C'est sa le problème.
Je suis vraiment dans la merde car je suis en train de faire un sorte de jeux en batch et enfaite X et Y se sont mes coordonnées.

Donc si tu une solution je suis preneur.

Bilou.
0
hamza_0081 Messages postés 242 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 26 avril 2009 60
20 mars 2009 à 18:55
bonsoir je veut vous aidez ca me fait plaisire :-]


1.le X dans ton script n'est pas un variable le variable est Nbr par ce que t'a fait [Set nbr=X]
et ca valeur est le [X]


2.je voix que script du GOOGX est tres bien ! ou est le problem es que tu peut m'explique un peut mieux svp ?




script de .:GooGx
[
@echo off
set /p nbr= Entrez le nombre:
set var1=0
set var2=0
set var4=0
if %nbr%== 1 (set var1=patate)
if %nbr%== 2 (set var2=tarti)
if %nbr%== 3 (set var1=raclette)
if %nbr%== 4 (set var4=patte)


if not %var1%==0 (echo %var1%)
if not %var2%==0 (echo %var2%)
if not %var4%==0 (echo %var4%)
pause
]
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
20 mars 2009 à 19:01
Enfaite je suis en train de faire un jeux un sorte de labyrinthe.
Voici ma version test:


Sa c'est le Lvl 1
 set lvl1-1=ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
 set lvl1-2=ÛÛÛÛÛÛÛÛÛÛÛÛ      ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
 set lvl1-3=ÛÛÛÛÛÛÛÛÛÛÛ   ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
 set lvl1-4=ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
 set lvl1-5=ÛÛÛÛÛ       ÛÛÛÛÛ                  
 set lvl1-6=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
 set lvl1-7=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
 set lvl1-8=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
 set lvl1-9=ÛÛÛÛÛ   ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set lvl1-10=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set lvl1-11=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set lvl1-12=ÛÛ      ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set lvl1-13=ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ


Donc au début on se trouve sur :
y=13(13eme ligne)
x=3(3eme caractere)
Donc je demande de afficher les 12 premier ligne (vue qu'on commence sur la 13ieme ligne).
Ensuite on est sur le 3eme caractère de la 13ieme ligne donc je lui demande de afficher la 13ieme, mais que les 2 premier caractère.
Ensuite le met un "0"(le joueur qui se déplace).
Et je lui demande de afficher du 4eme caractère a la fin.

Voila je sais pas si tu ma bien comprit mais voila le truc en faite.
Et donc c'est pour afficher X que sa bug :
  echo !lvl1-!y!:~0,!x.moins.1!! 0 !lvl1-!y!:~!x!,32!


Bilou.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
.:Goox:. Messages postés 2816 Date d'inscription lundi 22 mai 2006 Statut Contributeur Dernière intervention 7 janvier 2017 2 216
20 mars 2009 à 19:06
euh, moi j'ai pas tout capté en fait ^^
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
20 mars 2009 à 19:11
j'ai remodifier le post regarde.

Bilou.
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
20 mars 2009 à 20:46
Problème résolue merci quand même de m'avoir aider.

Bilou.
0
hamza_0081 Messages postés 242 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 26 avril 2009 60
22 mars 2009 à 14:56
bon soire je croit avoir comprandre ce que tu vien de faire mais j'ai pas compris cette lign

echo !lvl1-!y!:~0,!x.moins.1!! 0 !lvl1-!y!:~!x!,32!

????
comment tu tente de capté les touche clavie en dos et de calculez les nouvelle x et y ??
(le deplacement )

es que ton jeut est entierement sous dos !!!??? :-|
0
hamza_0081 Messages postés 242 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 26 avril 2009 60
22 mars 2009 à 15:28
salut je trouve ton projet cool bonne chance :-]
es que tu peut m'aidez un peut :-]
g ecris dans un bach ton script :

@echo off
set l-1=ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-2=ÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-3=ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-4=ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-5=ÛÛÛÛÛ ÛÛÛÛÛ
set l-6=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-7=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-8=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-9=ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-10=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-11=ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-12=ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
set l-13=ÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
for /L %%a in (1,1,13) do echo %l-%%a%

pause



ca m'affiche commad echo desactivé pour quoi ???
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
22 mars 2009 à 19:35
Tien je les déjà fini.
Tu peut le télécharger ici:
http://mininerdz.olympe-network.com/Games%20By%20Bilou%20V2.2.zip

Amuse toi bien.
Bilou.
0