Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
[Résolu]Remplacer la valeur de %%i par une variable.
Auteur Message
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Bien le bonjour!
Déjà, excusez-moi pour le titre, mais vous allez comprendre.
Donc je suis en train de faire un + ou - multijoueur.

Au début, on saisi le nom de chaque joueur:

Code:
for /L %%i in (1,1,%nbjoueur%) do (                  
                        set /p nomj%%i=Nom du joueur %%i:
                        )

%nbjoueur% étant le nombre de joueur. Ça, ça marche!

Mais le problème vient au moment de récupérer les noms.

Code:
set /p choix=%nomj%quijou%%, votre %coups% eme proposition est


%quijou% augmentant de 1 à chaque tour. Je voudrais, en fait récupérer le nom du joueur dont c'est le tour de jouer.

Merci de me répondre au plus vite et en espérant que vous avez compris mon problème.

++



Dernière édition par sined95 le Mer 28 Avr 2010 - 11:10; édité 1 fois
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Salut,

Tu attribues une variable dynamique dans ta boucle:
Code:

set /p nomj%%i=Nom du joueur %%i:

il faut donc lui dire de quelle variable il s'agit:
Code:

%nomj1%
%nomj2%
etc


pour ce faire tu dois replacer un compteur et attribuer Autant de variables que tu as de joueurs.
Pour chaque coup, tu dois définir à l'aide de ces variables si c'est au tour e tel ou tel joueur de jouer ..




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Bien le bonjour!
En fait, je cherche à savoir s'il l'on peut remplacer le 1 ou le 2 de nomj par une variable.
Merci.

++



Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Heu, bah oui ..

Code:

set VAR=1
...
set REMPLACE=%nomj%%VAR%


Mais je ne vois pas comment tu vas l'utiliser, a moins d'utiliser %random% pour le choix du joueur aléatoire ...




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Bien le bonjour!

je viens de tester ta technique mais elle marche pas dans mon cas.
Voici donc ce que veux faire:

Code:
for /L %%i in (1,1,%nbjoueur%) do (                  
                        set /p nomj%%i=Nom du joueur %%i:
                        )

set /a quichoixnb="%random%%%%nbjoueur%+1"

set nomjquijou=%nomj%%quichoixnb%

set /p nbmax=%nomjquijou% choisi le nombre. Le nombre a trouver sera compris entre 1 et...(choisissez):


Malheureusement, la commande ne m'affiche que la variable %quichoixnb% pour %nomjquijou% ce qui est complètement logique car la variable %nomj% n'existe pas.

J'aimerais que %quichoixnb% réprésente le nombre de %nomj%.

Merci de me répondre, c'est le dernier problème avant de finir mon jeu.

++



Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
RE,

Tel quel, ça ne peux pas fonctionner ...
Sors le "set /p" de la boucle !

Et si ça peut t'aider, le principe est le même >> http://batch.xoo.it/t1197-COMPTEUR-de-variables.htm




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
J'avais mal poster désolé !!

j'ai re poster ici=>>



Dernière édition par Mortallys le Lun 26 Avr 2010 - 22:49; édité 1 fois
Skype
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Bien le bonjour!
Il est sympa ton jeu Wink cool!

Sinon, je ne comprend pas pourquoi je dois enlever mon set /p de la boucle. Si je fais ça, ça ne marchera plus!
Mais il n'existe pas un moyen de faire des tableaux mieux avec des [] ?

++



Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
RE,

Mortallys, Bonne Amélioration du jeu du nombre mystère Okay
Mais tu as posté sur le sujet d'un autre ...

Sined, je crois comprendre ce que tu veux ... Razz
Juste pour voir si c'est bien ce que tu cherches, essayes ceci, je te ferais plus juste après :

Code:

for /L %%i in (1,1,%nbjoueur%) do (                   
                        set /p nomj%%i=Nom du joueur %%i:
                        )
rem ajout d'un % après random
set /a quichoixnb=%random%%%%nbjoueur%+1

rem juste pour tester, des if^^
if %quichoixnb%==1 set nomjquijou=%nomj1%
if %quichoixnb%==2 set nomjquijou=%nomj2%

set /p nbmax=%nomjquijou% choisi le nombre. Le nombre a trouver sera compris entre 1 et...(choisissez):





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
désolé Stryk je delete le post pour mieux le placer !!

Cordialement,



Skype
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Merci Mortallys Wink




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
stryk a écrit:
RE,

Mortallys, Bonne Amélioration du jeu du nombre mystère Okay
Mais tu as posté sur le sujet d'un autre ...

Sined, je crois comprendre ce que tu veux ... Razz
Juste pour voir si c'est bien ce que tu cherches, essayes ceci, je te ferais plus juste après :

Code:

for /L %%i in (1,1,%nbjoueur%) do (                   
                        set /p nomj%%i=Nom du joueur %%i:
                        )
rem ajout d'un % après random
set /a quichoixnb=%random%%%%nbjoueur%+1

rem juste pour tester, des if^^
if %quichoixnb%==1 set nomjquijou=%nomj1%
if %quichoixnb%==2 set nomjquijou=%nomj2%

set /p nbmax=%nomjquijou% choisi le nombre. Le nombre a trouver sera compris entre 1 et...(choisissez):



Bien le bonjour!
C'est exactement ce que je veux faire.
Le problème c'est que s'il il y a 100 joueurs, ça va poser problème!

++



Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
OK Razz

Voici donc la formule magique Wink :
Code:

for /L %%i in (1,1,%nbjoueur%) do (                   
                        set /p nomj%%i=Nom du joueur %%i:
                        )

set /a quichoixnb=%random%%%%nbjoueur%+1

:: \\  -------------------------------------
for /f "tokens=2 delims==" %%A in ('set ^| Find "nomj%quichoixnb%"') do (
    set nomjquijou=%%A
)
:: \\  -------------------------------------

set /p nbmax=%nomjquijou% choisi le nombre. Le nombre a trouver sera compris entre 1 et...(choisissez):





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Bien le bonjour!
Oh merci beaucoup ça marche.
Franchement, tu es génial! Tu as juste oublié une ")".
Bon ben, plus que quelques réglages et je présente mon jeu!

++ et encore merci.



Répondre en citant
Message [Résolu]Remplacer la valeur de %%i par une variable. 
Re,

De rien Wink

Hey Shocked regarde encore une fois Laughing :
Code:

:: \\  -------------------------------------
for /f "tokens=2 delims==" %%A in ('set ^| Find "nomj%quichoixnb%"') do (
    set nomjquijou=%%A
)
:: \\  -------------------------------------


Ha ha, mais c'est un peu de ma faute, elle est cachée sous la boucle ^^




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message [Résolu]Remplacer la valeur de %%i par une variable. 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch