Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 2 sur 3
Aller à la page: <  1, 2, 3  >
Labyrinthe
Avez-vous trouvé la sortie de la map 'map01' ?

Oui 77% 77% ( 7 )
Non 0% 0% ( 0 )
Ca m'saoûle ! 22% 22% ( 2 )

Total des votes : 9
Auteur Message
Répondre en citant
Message Labyrinthe 
Revue du message précédent :

Comme mon system d'exploitation est win 64bits, je ne peut pas convertir choice.exe en hexa, mais je vais essayer d'adapter la commande, je vous posterais le code se soir(si j'ai le droit au PC Wink )

Pour le compteur c'est tout simple (je posterais le code egalement se soir)
Quand tu initialise tu met la var a 0 et +1 a chaque deplacement Wink

Lady a deja parler de la commande batbox (plus haut), je n sais pas ou sa en ai...
Autant pour moi, c'était la commande bg.exe, je ne suis pas adepte de ces commandes, mais il y a un début a tout Smile


Cordialement, Pierrot

Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Errorlevel pour Laby 
Voici la commande errorlevel (fonctionnelle chez moi), je ne suis pas sur que chez vous cela fonctionne
parfaitement donc faites une copie avant toute chose et si vous trouvez un problème, dites-le moi :

PS : J'ai egelament rajouter le conteur de pas (ou deplacement)

Code:

::A METTRE TOUT AU DEBUT DU CODE
set procom=acp
Choice /N /T:Y,1 >Nul 2>&1
If "%Errorlevel%"=="9009" set procom=pro
if not exist "%windir%\System32\choice.exe" set procom=pro

::A METTRE LORS DU "LOAD" DU JEU
set pas=0

::A METTRE LORS DE LA DEMANDE "DEPLACEMENT"
:ACTION
set /a pos_x = %pos_h% - 1
set pos_y=%pos_v%
echo Pas : %pas% (%pos_x%;%pos_y%)
echo.
echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
if %win%==1 goto END

echo  Ou souhaitez-vous aller ?
echo.
if %u%==1 (echo      [Z] Haut) else echo.
if %l%==1 (echo      [Q] Gauche) else echo.
if %d%==1 (echo      [S] Bas) else echo.
if %r%==1 (echo      [D] Droite) else echo.
echo.
if pro equ %procom% goto chpro

:Move
REM CHOICE /C ZQSD /N >nul
CHOICE /C:ZQSD /N
If "%errorlevel%"=="1" if %u%==1 set /a pos_v = %pos_v% - 1
If "%errorlevel%"=="2" if %l%==1 set /a pos_h = %pos_h% - 1
If "%errorlevel%"=="3" if %d%==1 set /a pos_v = %pos_v% + 1
If "%errorlevel%"=="4" if %r%==1 set /a pos_h = %pos_h% + 1
goto chorse

:chpro
set /p rep= [Z;Q;S;D]:
if %u%==1 (
   if %rep%==Z set /a pos_v = %pos_v% - 1
   if %rep%==z set /a pos_v = %pos_v% - 1
)
if %l%==1 (
   if %rep%==Q set /a pos_h = %pos_h% - 1
   if %rep%==q set /a pos_h = %pos_h% - 1
)
if %d%==1 (
   if %rep%==S set /a pos_v = %pos_v% + 1
   if %rep%==s set /a pos_v = %pos_v% + 1
)
if %r%==1 (
   if %rep%==D set /a pos_h = %pos_h% + 1
   if %rep%==d set /a pos_h = %pos_h% + 1
)
if %rep%==quit goto QUIT
if %rep%==exit goto QUIT
:chorse
if %pos_h%==%exit_h% if %pos_v%==%exit_v% set win=1
find "MAP%pos_v%" %map% > %tmp%
for /f "tokens=%pos_h% delims=;" %%i in (%tmp%) do set pos=%%i
set /a pas=%pas%+1
goto GAME


Si je ne poste pas le reste du code, c'est parce que je suis en train de le modifier, je posterais les
modifications au fur et a mesure du développement.



Cordialement, Pierrot



Répondre en citant
Message Labyrinthe 
D'après ce que j'ai vu, batbox te permet de faire tout ce que tu veux effectuer dans ton code, et en plus le code héxa est super small Okay

renseigne toi ici

et si tu ne comprend pas je veu bien t'expliquer ce que tu veu, batbox et moi c'est <3

Mort de Rire Okay




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message Labyrinthe 
XD Merci Logan,

J'ai regarder vite fait, sa a l'air impressionnant !
Je regarderais sa peut être plus tard, pour l'instant je developpe
laby...

Peut-être que bigeyes va y jeter un coup d'oeil...



Cordialement, Pierrot...



Répondre en citant
Message Labyrinthe 
Salut salut !

Je vais regarder un peu du côté de batbox, ça a l'air assez énorme niveau possibilités ! Et tester les maj du code par pierrot (merci l'ami ;-)
Je vais m'ateler à une carte qui se dévoilera au fur et à mesure qu'on avance, ça pourrait être pas mal, surtout dans les grands labyrinthe !

Bon batch à tous !



Répondre en citant
Message Labyrinthe 
bigeyes a écrit:
Salut salut !

Je vais regarder un peu du côté de batbox, ça a l'air assez énorme niveau possibilités ! Et tester les maj du code par pierrot (merci l'ami ;-)
Je vais m'ateler à une carte qui se dévoilera au fur et à mesure qu'on avance, ça pourrait être pas mal, surtout dans les grands labyrinthes !

Bon batch à tous !


Zut je me suis planté de bouton ! C'est où qu'on suppriiiiime ???

EDIT : je viens de voir dans la FAQ qu'on ne peut pas supprimer un message lorsque quelqu'un y a répondu, un admin pourrait s'en charger svp ? Merci !!!



Dernière édition par bigeyes le Sam 1 Déc 2012 - 23:20; édité 1 fois
Répondre en citant
Message Re: Errorlevel pour Laby 
Citation:
Code:

::A METTRE TOUT AU DEBUT DU CODE
set procom=acp
Choice /N /T:Y,1 >Nul 2>&1
If "%Errorlevel%"=="9009" set procom=pro
if not exist "%windir%\System32\choice.exe" set procom=pro


Je viens de tester tes améliorations Pierrot, mais la deuxième ligne (Choice /N /T:Y,1 >Nul 2>&1) fait planter le programme qui se ferme d'un seul coup... Je suis sous Windows 8 x64, ça viendrait de là ?
En la mettant en commentaire tout marche nickel, plus besoin de valider à chaque fois c'est super pratique !!!!!

Allez je regarde batbox maintenant ! @+



Répondre en citant
Message Labyrinthe 
En haut a droite, le bouton EDIT je crois Wink

Bonne soirée a tous, j'aurais quelques améliorations a vous montrer
dans les prochains jour Smile

OK, j'espère que tu trouvera quelques astuces, je sens que ce jeu a
un grand potentiel XD



Cordialement, Pierrot



Répondre en citant
Message Labyrinthe 
OK, me tarde de voir tes améliorations Very Happy

Bonne soirée !



Répondre en citant
Message Re: Errorlevel pour Laby 
bigeyes a écrit:

Je viens de tester tes améliorations Pierrot, mais la deuxième ligne (Choice /N /T:Y,1 >Nul 2>&1) fait planter le programme qui se ferme d'un seul coup... Je suis sous Windows 8 x64, ça viendrait de là ?


Je pense que cela doit venir du code lui-méme, mais ce n'est pas très grave car juste après, "if exist chemin\choice.exe" permet de vérifier l'existence du programme, cela revient au même, je l'avais juste mis au cas ou mais franchement je m'y attendais un peu...



Bonne soirêe a tous !



Répondre en citant
Message Interface améliorée (maj) 
Je poste le code avec une petite refonte de l'interface (en vue du rajout de la map qui se dévoile, j'y travaille mais je galère un peu ! ça va venir ^^) et les ajouts de Pierrot (avec une modif pour le compteur qui ne s'incrémente plus de 1 lorsqu'on se mange un mur)

La suite plus tard, je fatigue un peu là ^^

Bonne nuit ;-)

EDIT : petite maj du code, quelques améliorations visuelles, début du travail pour une gestion des meilleurs scores et ajout de la modification apportée par Pierrot ci-dessous. Par contre la carte qui se dévoile au fur et à mesure je galère à mort, je sais même pas par quoi commencer !!

Code:
:CONFIG
set procom=acp
if "%errorlevel%"=="9009" set procom=pro
if not exist "%windir%\system32\choice.exe" set procom=pro

set map=
set tmp=laby.tmp
set title=laby v0.1b
title %title% %map%
mode con cols=40 lines=31
color 0F
@echo off

:CHOIX
cls
echo.
echo.
echo.
echo                  LABY
echo                    v0.1b
echo.
echo.
echo.
echo.
echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo.
echo  Choisissez une map :
echo.
for /f %%i in ('DIR .\maps\*.laby /b') do echo    - %%~ni
echo.
echo    - scores
echo    - quitter
echo.
echo  Tapez le nom de la map :
set /p map=
if %map%==quitter goto QUIT
if %map%==quit goto QUIT
if %map%==exit goto QUIT
if %map%==scores goto SCORES
if %map%==score goto SCORES
if not exist .\maps\%map%.laby (
   echo  La map n'existe pas !
   goto CHOIX
)

rem  INIT
set score_map=%map%
set map=.\maps\%map%.laby
set go=LOAD
set win=0
set rep=0

:START
find "NAME" %map% > %tmp%
cls
echo.
echo.
echo           *** INFORMATIONS ***
echo.
for /f "tokens=2 delims=;" %%i in (%tmp%) do echo  Nom : %%i
for /f "tokens=3 delims=;" %%i in (%tmp%) do echo  Decription: %%i
find "AUTHOR" %map% > %tmp%
echo.
for /f "tokens=2-3 delims=;" %%i in (%tmp%) do echo  Auteur: %%i %%j
find "DATE" %map% > %tmp%
for /f "tokens=2-3 delims=;" %%i in (%tmp%) do echo  Date: %%i %%j
echo.
if exist scores.txt (
   find "%score_map%" scores.txt > %tmp%
   for /f "tokens=2 delims=;" %%i in (%tmp%) do echo  Meilleur score actuel : %%i
)

:PAUSE
echo.
echo  Appuyez sur une touche...
pause > NUL
goto %go%

:LOAD
color 08
cls
echo   º
echo   º Chargement...
echo   º
set pas=0
find "SIZE" %map% > %tmp%
for /f "tokens=2 delims=;" %%i in (%tmp%) do set size_h=%%i
for /f "tokens=3 delims=;" %%i in (%tmp%) do set size_v=%%i
echo   º --- Taille : %size_h%x%size_v%
find "START" %map% > %tmp%
for /f "tokens=2 delims=;" %%i in (%tmp%) do set pos_h=%%i
set /a pos_h = %pos_h% + 1
for /f "tokens=3 delims=;" %%i in (%tmp%) do set pos_v=%%i
echo   º --- Position de depart : (%pos_h%;%pos_v%)
find "EXIT" %map% > %tmp%
for /f "tokens=2 delims=;" %%i in (%tmp%) do set exit_h=%%i
set /a exit_h = %exit_h% + 1
for /f "tokens=3 delims=;" %%i in (%tmp%) do set exit_v=%%i
echo   º --- Position de sortie : (%exit_h%;%exit_v%)
find "MAP%pos_v%" %map% > %tmp%
for /f "tokens=%pos_h% delims=;" %%i in (%tmp%) do set pos=%%i
echo   º --- Numero de depart : %pos%
find "MAP%exit_v%" %map% > %tmp%
for /f "tokens=%exit_h% delims=;" %%i in (%tmp%) do set exit=%%i
echo   º --- Numero de sortie : %exit%
echo   º
echo   º Lancement du jeu...
echo   º
set /a cols = 43 rem + %size_h% * 5
set /a lines = 27 rem + %size_v% * 3
mode con cols=%cols% lines=%lines%
color 0F
title %title% %map%
goto GAME

:GAME
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º                                        º
echo º                  LABY                  º
echo º                                        º
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
goto %pos%

:00
rem  inutile
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=0
set d=0
set l=0
set r=0
goto ACTION

:01
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º                                        º
echo º             ^<     ()     ^>             º
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=0
set d=0
set l=1
set r=1
goto ACTION

:02
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  ()  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=1
set d=1
set l=0
set r=0
goto ACTION

:03
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛ  ()     ^>             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=1
set d=0
set l=0
set r=1
goto ACTION

:04
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ^<     ()  ÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=0
set d=1
set l=1
set r=0
goto ACTION

:05
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛ  ()     ^>             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=0
set d=1
set l=0
set r=1
goto ACTION

:06
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ^<     ()  ÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=1
set d=0
set l=1
set r=0
goto ACTION

:07
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛ  ()     ^>             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=0
set d=0
set l=0
set r=1
goto ACTION

:08
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ^<     ()  ÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=0
set d=0
set l=1
set r=0
goto ACTION

:09
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  ()  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=1
set d=0
set l=0
set r=0
goto ACTION

:10
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  ()  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=0
set d=1
set l=0
set r=0
goto ACTION

:11
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛ  ()     ^>             º
echo º             ÛÛÛÛ                       º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=1
set d=1
set l=0
set r=1
goto ACTION

:12
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ^<     ()  ÛÛÛÛ             º
echo º                       ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=1
set d=1
set l=1
set r=0
goto ACTION

:13
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º                                        º
echo º             ^<     ()     ^>             º
echo º                                        º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=0
set d=1
set l=1
set r=1
goto ACTION

:14
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º                                        º
echo º             ^<     ()     ^>             º
echo º                                        º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
echo º             ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ             º
set u=1
set d=0
set l=1
set r=1
goto ACTION

:15
echo º                                        º
echo º             ÛÛÛÛ  /\  ÛÛÛÛ             º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º                                        º
echo º             ^<     ()     ^>             º
echo º                                        º
echo º             ÛÛÛÛ      ÛÛÛÛ             º
echo º             ÛÛÛÛ  \/  ÛÛÛÛ             º
set u=1
set d=1
set l=1
set r=1
goto ACTION

:ACTION
set /a pos_x = %pos_h% - 1
set pos_y=%pos_v%
if %pas% LSS 10 (echo º Pas : %pas%                                º) else if %pas% LSS 100 (echo º Pas : %pas%                               º) else if %pas% LSS 1000 (echo º Pas : %pas%                              º) else if %pas% LSS 10000 (echo º Pas : %pas%                             º)
echo º                                        º
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
if %win%==1 goto END

echo º                                        º
echo º Ou souhaitez-vous aller ?              º
echo º                                        º
if %u%==1 (echo º     [Z] Haut                           º) else echo º                                        º
if %l%==1 (echo º     [Q] Gauche                         º) else echo º                                        º
if %d%==1 (echo º     [S] Bas                            º) else echo º                                        º
if %r%==1 (echo º     [D] Droite                         º) else echo º                                        º
echo º                                        º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
if pro EQU %procom% goto CHPRO

:MOVE
rem choice /C ZQSD /N > NUL
set mv=0
choice /C:ZQSD /N
if "%errorlevel%"=="1" if %u%==1 (
   set /a pos_v = %pos_v% - 1
   set /a pas = %pas% + 1
)
if "%errorlevel%"=="2" if %l%==1 (
   set /a pos_h = %pos_h% - 1
   set /a pas = %pas% + 1
)
if "%errorlevel%"=="3" if %d%==1 (
   set /a pos_v = %pos_v% + 1
   set /a pas = %pas% + 1
)
if "%errorlevel%"=="4" if %r%==1 (
   set /a pos_h = %pos_h% + 1
   set /a pas = %pas% + 1
)
goto CHORSE

:CHPRO
set /p rep= [Z;Q;S;D]:
set mv=0
if %u%==1 (
   if %rep%==Z set /a pos_v = %pos_v% - 1 & set /a pas = %pas% + 1
   if %rep%==z set /a pos_v = %pos_v% - 1 & set /a pas = %pas% + 1
   set mv=1
)
if %l%==1 (
   if %rep%==Q set /a pos_h = %pos_h% - 1 & set /a pas = %pas% + 1
   if %rep%==q set /a pos_h = %pos_h% - 1 & set /a pas = %pas% + 1
   set mv=1
)
if %d%==1 (
   if %rep%==S set /a pos_v = %pos_v% + 1 & set /a pas = %pas% + 1
   if %rep%==s set /a pos_v = %pos_v% + 1 & set /a pas = %pas% + 1
   set mv=1
)
if %r%==1 (
   if %rep%==D set /a pos_h = %pos_h% + 1 & set /a pas = %pas% + 1
   if %rep%==d set /a pos_h = %pos_h% + 1 & set /a pas = %pas% + 1
   set mv=1
)
if %rep%==quitter goto QUIT
if %rep%==quit goto QUIT
if %rep%==exit goto QUIT

:CHORSE
if %pos_h%==%exit_h% if %pos_v%==%exit_v% set win=1
find "MAP%pos_v%" %map% > %tmp%
for /f "tokens=%pos_h% delims=;" %%i in (%tmp%) do set pos=%%i
rem if %mv%==1 set /a pas = %pas% + 1
goto GAME

:END
title %title% VOUS AVEZ GAGNE !
color 0A
echo º                                        º
echo º VOUS AVEZ GAGNE !                      º
if not exist scores.txt echo %score_map%;%pas% > scores.txt else (
   find "%score_map%" scores.txt > %tmp%
   for /f "tokens=2 delims=;" %%i in (%tmp%) do set highscore=%%i
   if %pas% LSS %highscore% (
      find /v "%score_map%" scores.txt > scores.tmp
      echo %score_map%;%pas% >> scores.tmp
      del /f /q scores.txt
      ren scores.tmp scores.txt
   )
)
if %pas% LSS %highscore% echo º Nouveau record !                       º
echo º                                        º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
pause > NUL
goto CONFIG

:QUIT
title %title% BYE!
color 08
cls
echo.
echo   º BYE!
del %tmp% > NUL
exit

:SCORES
cls
echo MEILLEURS SCORES
echo.
find /v "---------- SCORES.TXT" scores.txt > scores.tmp
for /f "tokens=1-2 delims=;" %%i in (scores.tmp) do echo %%i : %%j pas
del /f /q scores.tmp
set go=CHOIX
goto PAUSE




Dernière édition par bigeyes le Dim 2 Déc 2012 - 21:03; édité 4 fois
Répondre en citant
Message Labyrinthe 
Salut tout le monde !

Merci Bigeyes Wink je vais tester sa

Le :
Code:
 if %mv%==1 set /a pas = %pas% + 1
bug chez moi
donc j'ai fais :
Code:
 if %rep%==Q set /a pos_h=%pos_h%+1&set /a pas=%pas%+1

Pour chaque ligne, sa allonge le code mai bon sa merche sur win 7 64bits...



Cordialement, Pierrot



Répondre en citant
Message Meilleurs scores 
Je viens d'ajouter la gestion des meilleurs scores ! C'est pas parfait, mais ça prend forme ;-)
Si quelqu'un sait comment faire pour empêcher la commande FIND d'ajouter le nom du fichier (---------- NOMFICHIER.TRUC) à chaque fois ça m'arrangerait... Ca fait un peu moche ^^

Je poste ici juste les parties ajoutées/modifiées, le code complet est dans le post un peu plus haut.

EDIT : y'a un bug dans les scores, si le fichier scores.txt existe déjà mais qu'il n'y a pas encore de score pour la map gagnée, bah y'a tout qui se ferme... j'essaie de résoudre ça !

Code:
rem  INIT
set score_map=%map%             rem je rajoute cette variable pour n'avoir que le nom de la map (pas le nom du fichier)
set map=.\maps\%map%.laby
set go=LOAD
set win=0
set rep=0

:START
find "NAME" %map% > %tmp%
cls
echo.
echo.
echo           *** INFORMATIONS ***
echo.
for /f "tokens=2 delims=;" %%i in (%tmp%) do echo  Nom : %%i
for /f "tokens=3 delims=;" %%i in (%tmp%) do echo  Decription: %%i
find "AUTHOR" %map% > %tmp%
echo.
for /f "tokens=2-3 delims=;" %%i in (%tmp%) do echo  Auteur: %%i %%j
find "DATE" %map% > %tmp%
for /f "tokens=2-3 delims=;" %%i in (%tmp%) do echo  Date: %%i %%j
echo.
rem    ajout du score dans les infos
if exist scores.txt (
   find "%score_map%" scores.txt > %tmp%
   for /f "tokens=2 delims=;" %%i in (%tmp%) do echo  Meilleur score actuel : %%i
)

:END
title %title% VOUS AVEZ GAGNE !
color 0A
echo º                                        º
echo º VOUS AVEZ GAGNE !                      º
rem    c'est là que le score est comparé au meilleur précedent et est mis à jour si nécessaire
if not exist scores.txt echo %score_map%;%pas% > scores.txt else (
   find "%score_map%" scores.txt > %tmp%
   for /f "tokens=2 delims=;" %%i in (%tmp%) do set highscore=%%i
   if %pas% LSS %highscore% (
      find /v "%score_map%" scores.txt > scores.tmp
      echo %score_map%;%pas% >> scores.tmp
      del /f /q scores.txt
      ren scores.tmp scores.txt
   )
)
if %pas% LSS %highscore% echo º Nouveau record !                       º
echo º                                        º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
pause > NUL
goto CONFIG

:SCORES
rem     permet d'afficher les scores depuis le menu principal
cls
echo MEILLEURS SCORES
echo.
find /v "---------- SCORES.TXT" scores.txt > scores.tmp
for /f "tokens=1-2 delims=;" %%i in (scores.tmp) do echo %%i : %%j pas
del /f /q scores.tmp
set go=CHOIX
goto PAUSE


voili voilou, à plus tard pour la suite !



Dernière édition par bigeyes le Dim 2 Déc 2012 - 21:39; édité 1 fois
Répondre en citant
Message Labyrinthe 
Bonne soirée a tous,

Bigeyes, pour ton projets de map qui se devoile, tu aurais pu (si j'ai bien compris) faire une sorte de campagne, avec des map auto-extractibles...
PS : j'ai mis une map qui se creer automatiquement, dans le programme (je lest appeler level1), je posterais sa plus taard (je suis sur mon téléphone).

Pour ta question find, je ne my connais pas trop mais essaye find /i.....
Dans lle pire des cas tu peux modifier le variable resultant de find
(ex : find fichier.exetension do set var=var1
Set var1=%var1:.extension=%) vaut mieux que tu cherche XD


Je n'est pas trop le temps de testé, mais bien joue a toi, pour les scores, le graphisme
continue comme sa Wink



Cordialement, Pierrot



Dernière édition par Pierrot le Lun 3 Déc 2012 - 18:08; édité 1 fois
Répondre en citant
Message Labyrinthe 
Bonjour

pour cacher des choses essaie ceci
a voir ou le placer
Citation:
find "%score_map%" scores.txt > %tmp% 2>nul>nul





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Re: Meilleurs scores 
bigeyes a écrit:

Si quelqu'un sait comment faire pour empêcher la commande FIND d'ajouter le nom du fichier (---------- NOMFICHIER.TRUC) à chaque fois ça m'arrangerait... Ca fait un peu moche ^^


Salut,

Pour ça il faut écrire quelque chose dans le genre de
Code:
find /i "tachaine"<fichier.source>fichier.destination




Répondre en citant
Message Labyrinthe 
hello !

ou alors :
Code:
type "fichier.txt" | find /i "Lorem ipsum"


@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Message Labyrinthe 


Montrer les messages depuis:
Répondre au sujet Page 2 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