Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
MineField! ( jeu batbox )
Auteur Message
Répondre en citant
Message MineField! ( jeu batbox ) 
Bonjour tout le monde voici un petit jeu utilisant batbox que j'ai créé (merci a ceux qui m'ont aider dans les commentaires )
le principe : Vous controllez un personnage et devez ramasser des coeurs tout en evitant des mines : a chaque niveau le nombre de mines e tla vitesse du personnage augmentent Very Happy

vous pouvez le telechrger ici : https://app.box.com/s/9j5c9tm95xs11mmcwpzm

ou voici le code source :

Code:






::MineField! V3.5 crée par Luca De Santos (SpeedCookie)
::Contact  Desantos_luca@yahoo.com
                                         
Rem ---------------------- Copyright ----------------------------------


:: MineField! Copyright (c) by SpeedCookie, ne pas copier, modifier, distribuer ce code sans mon autorisation
:: commandes externes utilisés :
:: -Batbox; By DarkBatcher

Rem ---------------------- Copyright ----------------------------------

@echo off
IF NOT EXIST BatBox.exe CALL :make_bb
setlocal enabledelayedexpansion


:initialisation
mode con cols=40 lines=14
title MineField! V3.5
color 0f
set col=5
set ligne=5
set lvl=0
set BAR=
set dir=nope
set temps=150
set z=6
goto :new_terrain


:b

set BAR=%BAR%
if %points% geq 5 goto :levelup

goto :a

:levelup
cls
set /a temps=%temps%-10
if %temps% lss 50 set tenms=50
set dir=nope
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º                    º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º   
echo º                    º   
echo º                    º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   

batbox /g 25 8 /c 0x0e /d  /c 0x0f /d =Vous
batbox /g 25 9 /c 0x0c /d  /c 0x0f /d =Point
batbox /g 25 10 /c 0x08 /d X /c 0x0f /d =MINE!!
for /l %%$ in (3,1,%z%) do batbox /g !col%%$! !ligne%%$! /c 0x08 /d X /c 0x0f
batbox /g 26 5 /c 0x0c /d "%BAR%" /c 0x0f

set /a z=%z%+1
batbox /w 400

goto :new_terrain




:new_terrain
set BAR=
set dir=nope
for /l %%$ in (3,1,%z%) do call :set %%$
for /l %%$ in (3,1,%z%) do (
   if !col%%$! lss 2 goto :new_terrain
   if !ligne%%$! lss 2 goto :new_terrain
)

set points=0
set /a lvl=%lvl%+1
goto :a


:set
set /a col%1= %random%%%21
set /a ligne%1= %random%%%11
goto :eof

:a


set /a col2=%random%%%21
set /a ligne2=%random%%%11
if %col2% lss 2 goto :a
if %ligne2% lss 2 goto :a
for /l %%$ in (3,1,%z%) do if %col2%%ligne2% equ !col%%$!!ligne%%$! goto :a

goto :cadre


:cadre





cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º                    º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º   
echo º                    º   
echo º                    º   
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   




batbox /g 26 5 /c 0x0c /d %BAR%
for /l %%$ in (3,1,%z%) do batbox /g !col%%$! !ligne%%$! /c 0x08 /d X /c 0x0f

batbox /g 25 8 /c 0x0e /d  /c 0x0f /d =Vous
batbox /g 25 9 /c 0x0c /d  /c 0x0f /d =Point
batbox /g 25 10 /c 0x08 /d X /c 0x0f /d =MINE!!

:cadre1

if %col%%ligne% equ %col2%%ligne2% set /a points=%points%+1 & goto :b
batbox /g %col% %ligne% /c 0x0e /d  /c 0x0f /w %temps%
batbox /g %col2% %ligne2% /c 0x0c /d  /c 0x0f
for /l %%$ in (3,1,%z%) do if %col%%ligne% equ !col%%$!!ligne%%$! goto :mort


batbox /k_


if %errorlevel%==327 set dir=haut

if %errorlevel%==330 set dir=gauche

if %errorlevel%==335 set dir=bas

if %errorlevel%==332 set dir=droite

if not %dir%==nope goto :%dir%

goto :cadre1



:haut
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %ligne% gtr 1 set /a ligne=%ligne%-1
goto :cadre1

:bas
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %ligne% lss 10 set /a ligne=%ligne%+1
goto :cadre1

:gauche
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %col% gtr 1 set /a col=%col%-1
goto :cadre1

:droite
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %col% lss 20 set /a col=%col%+1
goto :cadre1

:mort

cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º                    º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º   
echo º                    º
echo º                    º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   




batbox /g 26 5 /c 0x0c /d %BAR%
batbox /g %col% %ligne% /c 0x0c /d BOOM!! /c 0x0f
batbox /g 25 8 /c 0x0e /d  /c 0x0f /d =Vous
batbox /g 25 9 /c 0x0c /d  /c 0x0f /d =Point
batbox /g 25 10 /c 0x08 /d X /c 0x0f /d =MINE!!
batbox /w 400
goto :mort1
:mort1
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º Vous etes mort...  º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º  Recommencer?
echo º                    º     [O/N]
echo º                    º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   




batbox /g 26 5 /c 0x0c /d "%BAR%" /c 0x0f
batbox /k
if %errorlevel%==110 exit
if %errorlevel%==111 goto :initialisation
goto :mort1

:make_bb

for %%b in (

4d534346000000004f030000000000002c0000000000000003010100010000000000000047000000010001000006000000000000

0000a440c6b82000626174626f782e657865008699d03300030006434bb55441481461147ea36b90a6b3ac6e85118d90c7342b2f

b50b2bbb4b456b2eae5874b17177d69975776699fdb70c3a183b826950870e1eba88751582a2253a28061925d82108ebe0a1420b

128224249cde9b595d37043bd4db7dff7bef7befffdff7fff3cfb45f1a040e001ce004d304f05180e2839d6510b5e6d0d31a78b4

7bae21cf85e61aba642523a475ad4f1753425454558d09bd92a06755415185404744486931a9a9baf2f0c61ae1204088e3807bf8

b663035b049eabe2b82092024b499c5b94d8912d0328d0dd2c03c1c67b7e0194537a730eb7c9dbb9650f3e17c024f7179bfdc7d2

144f8a0c6dbda340c861f3de2a97e928feb3c8ebb53e48d846fe4ec3371c4cf72d827f98eebccb07136b14ac1682550c9616f0c8

064f35f3439fd0f1b74c8d94ef113cfdeca2a78f374670594f941df188bc31437e9c373e908df1c64fb229ded885d33c5779e30a

dae5711c96867148e02f62bac7b043d86c5db3884c61cfafb7133d88df4360688ad598eebb96c71bcc44710f63e4a593ca56d941

854937cb74df21aacda50b4f94d521585f0a4e2f3ab90a4a98adf668f77e8ebd979dd862e90b94b293bd2e2a30d05f5e59c78297

a50589e206e669915754f3006b22724b71e6634413fbcdd655abf01926ecc7c1c9bb2c16363e8b78ce4b09606fe2392fe5cab22f

72d57bc9c9792d937d32eaad44e7e6faf48af3c6677a95c76b302eafa074f842b77ca2d8d74b6cf6fdb125d3fd9a9836602e5741

37c1317a90cce881a1f78c9b49807d9e8d19688c9db4fed01885586df12e5dc777c9c078cc55c486d1cfbbb6bf7bed916e7f6757

532014023817ec3c1f0c1d3f664700ef70ce12ea1a6a1dae791435801a2af4db290f705a6211163b23aab1a4447144627e4dcd68

49a91dbf41a5489734c0da18d395de2c934a32feac9ed1f4b0965198a2a934ab53126385e459359d656d549f94a474c9bc809249

27c56b56abfbc86912358f3a8b3a8fba80fab1c075a73c405a57541627afa74f6251d9f2c84d898a2aea7d198ca5018559787faf

6c7b19a6332d59f0a2b2bedd57ee37

) Do>>t.dat (Echo.For b=1 To len^("%%b"^) Step 2

Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)

Cscript /b /e:vbs t.dat>batbox.ex_

Del /f /q /a t.dat>nul 2>&1

Expand -r batbox.ex_>nul 2>&1

Del /f /q /a batbox.ex_>nul 2>&1


Smile



Dernière édition par SpeedCookie le Sam 8 Nov 2014 - 19:44; édité 11 fois

______________________________________________________
Le Batch ; c'est la vie!

De la programmation et du Gaming? : https://www.youtube.com/channel/UC54TZ4W6uESNHfWg3GhhQDg
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message MineField! ( jeu batbox ) 
Hello, joli programme !

Mais évite la commande choice, elle est pas sur touts les pc Wink
supprime la ligne
Code:
choice /c on /n





______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message MineField! ( jeu batbox ) 
Merci beaucoup Smile
oui merci j'essayerait de l'enlever mais c'est par habitude Smile




______________________________________________________
Le Batch ; c'est la vie!

De la programmation et du Gaming? : https://www.youtube.com/channel/UC54TZ4W6uESNHfWg3GhhQDg
Visiter le site web du posteur
Répondre en citant
Message MineField! ( jeu batbox ) 
Wink
Je suis allé jusqu'au level 34 ^^
Tu devrais mettre plus de mines à chaques niveaux Wink


PS : Fais une ptite présentation -> http://batch.xoo.it/f4-Presentations.htm




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message MineField! ( jeu batbox ) 
Merci de tous tes conseils Smile

Mais comment Pourrais-je ajouter une mine a chaque niveau? (boucle FOR?)

Présentation Smile http://batch.xoo.it/t4207-Bonjouuuurr-C-moi-SpeedCookie.htm




______________________________________________________
Le Batch ; c'est la vie!

De la programmation et du Gaming? : https://www.youtube.com/channel/UC54TZ4W6uESNHfWg3GhhQDg
Visiter le site web du posteur
Répondre en citant
Message MineField! ( jeu batbox ) 
Salut Very Happy

Vraiment bien surtout si c'est ton premier jeu en batbox Okay Okay Okay

Je te propose une petite amélioration ainsi qu'une simplification de ces lignes:
Code:

batbox /g %col3% %ligne3% /c 0x08 /d X /c 0x0f
batbox /g %col4% %ligne4% /c 0x08 /d X /c 0x0f
batbox /g %col5% %ligne5% /c 0x08 /d X /c 0x0f
batbox /g %col6% %ligne6% /c 0x08 /d X /c 0x0f
batbox /g %col7% %ligne7% /c 0x08 /d X /c 0x0f

qui peuvent être remplacées par
Code:

for /l %%$ in (3,1,7) do batbox /g !col%%$! !ligne%%$! /c 0x08 /d X /c 0x0f


Voici le code :


Code:

@echo off
IF NOT EXIST BatBox.exe CALL :make_bb
setlocal enabledelayedexpansion


:initialisation
mode con cols=40 lines=14
title SpriteBox V2.2
color 0f
set col=5
set ligne=5
set lvl=0
set BAR=
set Dir=Nope
set Delay=100
goto :new_terrain



:b
set BAR=%BAR%
if %points% geq 5 goto :levelup

goto :a

:levelup
cls
set Dir=Nope
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º                    º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º   
echo º                    º    LEVEL UP!
echo º                    º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   


batbox /g 26 5 /c 0x0c /d %BAR%
batbox /g %col% %ligne% /c 0x0e /d  /c 0x0f


for /l %%$ in (3,1,7) do batbox /g !col%%$! !ligne%%$! /c 0x08 /d X /c 0x0f

batbox /w 800
goto :new_terrain




:new_terrain
set BAR=
for /l %%$ in (3,1,7) do call :Set %%$
for /l %%$ in (3,1,7) do (
   if !col%%$! lss 2 goto :new_terrain
   if !ligne%%$! lss 2 goto :new_terrain
)
for /l %%$ in (3,1,7) do if !col!!ligne! equ !col%%$!!ligne%%$! goto :new_terrain
set points=0
set /a lvl=%lvl%+1
goto :a


:a


set /a col2=%random%%%21
set /a ligne2=%random%%%11
if %col2% lss 2 goto :a
if %ligne2% lss 2 goto :a

for /l %%$ in (3,1,7) do if !col2!!ligne2! equ !col%%$!!ligne%%$! goto :a

goto :cadre


:cadre





cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º                    º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º   
echo º                    º   
echo º                    º   
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   




batbox /g 26 5 /c 0x0c /d %BAR%

for /l %%$ in (3,1,7) do batbox /g !col%%$! !ligne%%$! /c 0x08 /d X /c 0x0f

batbox /g 25 8 /c 0x0e /d  /c 0x0f /d =Vous
batbox /g 25 9 /c 0x0c /d  /c 0x0f /d =Point
batbox /g 25 10 /c 0x08 /d X /c 0x0f /d =MINE!!


:cadre1

if %col%%ligne% equ %col2%%ligne2% set /a points=%points%+1 & goto :b
for /l %%$ in (3,1,7) do if !col!!ligne! equ !col%%$!!ligne%%$! goto :mort
batbox /g %col% %ligne% /c 0x0e /d  /c 0x0f /w %Delay%
batbox /g %col2% %ligne2% /c 0x0c /d  /c 0x0f


batbox /k_


if %errorlevel%==327 set Dir=haut

if %errorlevel%==330 set Dir=gauche

if %errorlevel%==335 set Dir=bas

if %errorlevel%==332 set Dir=droite

if not %Dir%==Nope goto :%Dir%



goto :cadre1

:Set
set /a col%1=%random%%%21
set /a ligne%1=%random%%%11
goto:eof


:haut
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %ligne% gtr 1 set /a ligne=%ligne%-1
goto :cadre1

:bas
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %ligne% lss 10 set /a ligne=%ligne%+1
goto :cadre1

:gauche
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %col% gtr 1 set /a col=%col%-1
goto :cadre1

:droite
batbox /g %col% %ligne% /c 0x00 /d  /c 0x0f
if %col% lss 20 set /a col=%col%+1
goto :cadre1

:mort

cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º                    º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º   
echo º                    º
echo º                    º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   




batbox /g 26 5 /c 0x0c /d %BAR%
batbox /g %col% %ligne% /c 0x0c /d BOOM!! /c 0x0f
batbox /g 25 8 /c 0x0e /d  /c 0x0f /d =Vous
batbox /g 25 9 /c 0x0c /d  /c 0x0f /d =Point
batbox /g 25 10 /c 0x08 /d X /c 0x0f /d =MINE!!
batbox /w 400

cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             
echo º                    º 
echo º                    º   Niveau %lvl%
echo º                    º 
echo º                    º  Ú       ¿
echo º Vous etes mort...  º    
echo º                    º  À       Ù
echo º                    º   
echo º                    º  Recommencer?
echo º                    º     [O/N]
echo º                    º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ   




batbox /g 26 5 /c 0x0c /d %BAR%
choice /c on /n
if %errorlevel%==2 exit
if %errorlevel%==1 goto :initialisation


:make_bb

for %%b in (

4d534346000000004f030000000000002c0000000000000003010100010000000000000047000000010001000006000000000000

0000a440c6b82000626174626f782e657865008699d03300030006434bb55441481461147ea36b90a6b3ac6e85118d90c7342b2f

b50b2bbb4b456b2eae5874b17177d69975776699fdb70c3a183b826950870e1eba88751582a2253a28061925d82108ebe0a1420b

128224249cde9b595d37043bd4db7dff7bef7befffdff7fff3cfb45f1a040e001ce004d304f05180e2839d6510b5e6d0d31a78b4

7bae21cf85e61aba642523a475ad4f1753425454558d09bd92a06755415185404744486931a9a9baf2f0c61ae1204088e3807bf8

b663035b049eabe2b82092024b499c5b94d8912d0328d0dd2c03c1c67b7e0194537a730eb7c9dbb9650f3e17c024f7179bfdc7d2

144f8a0c6dbda340c861f3de2a97e928feb3c8ebb53e48d846fe4ec3371c4cf72d827f98eebccb07136b14ac1682550c9616f0c8

064f35f3439fd0f1b74c8d94ef113cfdeca2a78f374670594f941df188bc31437e9c373e908df1c64fb229ded885d33c5779e30a

dae5711c96867148e02f62bac7b043d86c5db3884c61cfafb7133d88df4360688ad598eebb96c71bcc44710f63e4a593ca56d941

854937cb74df21aacda50b4f94d521585f0a4e2f3ab90a4a98adf668f77e8ebd979dd862e90b94b293bd2e2a30d05f5e59c78297

a50589e206e669915754f3006b22724b71e6634413fbcdd655abf01926ecc7c1c9bb2c16363e8b78ce4b09606fe2392fe5cab22f

72d57bc9c9792d937d32eaad44e7e6faf48af3c6677a95c76b302eafa074f842b77ca2d8d74b6cf6fdb125d3fd9a9836602e5741

37c1317a90cce881a1f78c9b49807d9e8d19688c9db4fed01885586df12e5dc777c9c078cc55c486d1cfbbb6bf7bed916e7f6757

532014023817ec3c1f0c1d3f664700ef70ce12ea1a6a1dae791435801a2af4db290f705a6211163b23aab1a4447144627e4dcd68

49a91dbf41a5489734c0da18d395de2c934a32feac9ed1f4b0965198a2a934ab53126385e459359d656d549f94a474c9bc809249

27c56b56abfbc86912358f3a8b3a8fba80fab1c075a73c405a57541627afa74f6251d9f2c84d898a2aea7d198ca5018559787faf

6c7b19a6332d59f0a2b2bedd57ee37

) Do>>t.dat (Echo.For b=1 To len^("%%b"^) Step 2

Echo WScript.StdOut.Write Chr^(Clng^("&H"^&Mid^("%%b",b,2^)^)^) : Next)

Cscript /b /e:vbs t.dat>batbox.ex_

Del /f /q /a t.dat>nul 2>&1

Expand -r batbox.ex_>nul 2>&1

Del /f /q /a batbox.ex_>nul 2>&1



@+ Okay




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message MineField! ( jeu batbox ) 
Merci beaucoup MagicDos c'est ce que je pensais mais je ne maitrise pas tres bien la boucle FOR ni le Setlocal EnableDelayedExpansion Smile

par contre je ne comprend pas trop le "call : set %%$" ici

Code:

for /l %%$ in (3,1,7) do call :Set %%$
for /l %%$ in (3,1,7) do (
   if !col%%$! lss 2 goto :new_terrain
   if !ligne%%$! lss 2 goto :new_terrain
)
for /l %%$ in (3,1,7) do if !col!!ligne! equ !col%%$!!ligne%%$! goto :new_terrain


et aussi comment tu fais pour que le cadre ne clignote plus a chaque mouvement ?




______________________________________________________
Le Batch ; c'est la vie!

De la programmation et du Gaming? : https://www.youtube.com/channel/UC54TZ4W6uESNHfWg3GhhQDg
Visiter le site web du posteur
Répondre en citant
Message MineField! ( jeu batbox ) 
Salut,
quand tu met une étiquette pour goto tu met un ":". (étiquette ou label, comme tu veux)
par exemple,
Code:

:étiquette

Tu peux "goto étiquette" mais avec call t'es obligé de mettre le ":" donc ça fait "call :étiquette"
Code:

:Set
set /a col%1=%random%%%21
set /a ligne%1=%random%%%11
goto:eof

Le "goto:eof" signifie que une fois les set/a exécutés, la lecture du code reprend juste après le call. (ligne suivante, donc)

La boucle
Code:
for /L %%$ in (3,1,7) do call :Set %%$
retourne
Code:

call :Set 3
call :Set 4
call :Set 5
call :Set 6
call :Set 7

soit un call avec paramètre.
For /L est utilisé pour faire une chaîne de chiffres, dans le in c'est
Code:
in (début,pas,fin)
en l’occurrence, le début est 3, la fin 7 et le pas est de 1 = on va de 3 à 7 de 1 en 1 = 34567.

Le paramètre du call est utilisé ensuite avec %1, en l’occurrence, " set /a col%1=%random%%%21 " la variable call plus les nombres de 3 à 7, soit la définition de 5 variables, plus 5 autres variables pour la ligne " set /a ligne%1=%random%%%11 "

J'espère que t'as compris Mr. Green
Si t'as pas compris la partie avec call, Ilegend a fait un tuto http://batch.xoo.it/t1385-TUTO-Commande-call.htm



Dernière édition par Hugo7 le Ven 31 Oct 2014 - 13:50; édité 1 fois

______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message MineField! ( jeu batbox ) 
ouiii merci bcp Hugo j'avais pas vu l'etiquette ":set" Smile

je retravaille un peu sur le programme en tenant compte de vos conseils et j'edit le post Smile




______________________________________________________
Le Batch ; c'est la vie!

De la programmation et du Gaming? : https://www.youtube.com/channel/UC54TZ4W6uESNHfWg3GhhQDg
Visiter le site web du posteur
Répondre en citant
Message MineField! ( jeu batbox ) 
Okay




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message MineField! ( jeu batbox ) 
voilou j'ai retravaillé sur le programme (j'ai essayé de ne pas copier/coller vos aides j'ai pris exemple et refait a ma facon )

Merci encore a vous tous tres accueuilant pour un premier post sur ce forum Smile



Dernière édition par SpeedCookie le Ven 31 Oct 2014 - 17:12; édité 1 fois

______________________________________________________
Le Batch ; c'est la vie!

De la programmation et du Gaming? : https://www.youtube.com/channel/UC54TZ4W6uESNHfWg3GhhQDg
Visiter le site web du posteur
Répondre en citant
Message MineField! ( jeu batbox ) 
darkoa69 a écrit:
Merci beaucoup MagicDos c'est ce que je pensais mais je ne maitrise pas tres bien la boucle FOR ni le Setlocal EnableDelayedExpansion Smile

par contre je ne comprend pas trop le "call : set %%$" ici

Code:

for /l %%$ in (3,1,7) do call :Set %%$
for /l %%$ in (3,1,7) do (
   if !col%%$! lss 2 goto :new_terrain
   if !ligne%%$! lss 2 goto :new_terrain
)
for /l %%$ in (3,1,7) do if !col!!ligne! equ !col%%$!!ligne%%$! goto :new_terrain



Hugo à déja tout expliqué comment fonctionne call ^^ En fait je l'ai utilisé car les variable dans les boucles for ne fonctionnent qu'avec des "!" à la place des "%" et la variable random ne fonctionne pas avec les "!", il falait donc sortir de For pour déclarer ces variables, call était ce qu'il y avait de plus simple Wink

darkoa69 a écrit:


et aussi comment tu fais pour que le cadre ne clignote plus a chaque mouvement ?


En fait tu utilisait cls pour effacer le perso du joueur, du coup il fallait ré-afficher tout le cadre les mines etc, c'est inutile de tout effacer étant donné que seul le perso se déplace
Il faut donc l'effacer à chaque déplacement, en affichant un un charactère noir sur noir (batbox /c 0x00 /d "A") a son emplacements actuel avant de le modifier, ce qui donne ça :

Code:

:haut
rem on efface le perso
batbox /g %col% %ligne% /c 0x00 /d "A"  /c 0x0f
rem on modifie les coordonnées de son emplacement
if %ligne% gtr 1 set /a ligne=%ligne%-1
rem On retourne a :cadre1 ou le perso sera ré-affiché aux nouvel emplacement
goto :cadre1

Bien sur c'est la même pour :bas,:droite et :gauche ^^

Bon je suis pas trop doué pour les explications mais j'espère avoir été clair Mr. Green

@+ Okay




______________________________________________________
Site MagicDosYoutubeFacebookVietcong 2 OlympeVietcong 2 Alliance
Visiter le site web du posteur Skype
Répondre en citant
Message MineField! ( jeu batbox ) 
Yup merci beaucoup post édité avec le code final ( quelques améliorations ajoutées voir le post au début )




______________________________________________________
Le Batch ; c'est la vie!

De la programmation et du Gaming? : https://www.youtube.com/channel/UC54TZ4W6uESNHfWg3GhhQDg
Visiter le site web du posteur
Répondre en citant
Message Re: MineField! ( jeu batbox ) 
Bonjour Speedcookie ,je me suis permis de faire une version de minefield plus simplifiée sans batbox(mais avec choice),je peux la partager ?



Visiter le site web du posteur
Message MineField! ( jeu batbox ) 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



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