Amélioration de code en batch

NeilFoulon Messages postés 1 Date d'inscription dimanche 21 janvier 2024 Statut Membre Dernière intervention 21 janvier 2024 - Modifié le 21 janv. 2024 à 23:44

Bonjour,

Je voudrai que vous améliorez mon code, les graphismes, ajoute des fonctionnalité a mon code, car je le sent inaccomplis.

voici mon code en batch:

echo off
mode con lines=29 cols=29
title Invasion V1.3



: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


IF NOT EXIST BatBox.exe CALL :make_bb
setlocal enabledelayedexpansion

:INIT
cls

set score=0

set EN1X=0
set EN1Y=2
set EN1Lock=0
set EN1Time=20

set EN2X=0
set EN2Y=2
set EN2Lock=0
set EN2Time=11

set EN3X=0
set EN3Y=2
set EN3Lock=0
set EN3Time=0

set POSX=14
set FireY=25
set FireX=
set FireLock=0
::=================
:MENU_PRINCIPAL
batbox /g 1 27 /a 200 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 188 /g 1 1 /a 201 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 205 /a 187
batbox /g 1 2 /a 186 /g 27 2 /a 186 
batbox /g 1 3 /a 186 /g 27 3 /a 186 
batbox /g 1 4 /a 186 /g 27 4 /a 186 
batbox /g 1 5 /a 186 /g 27 5 /a 186 
batbox /g 1 6 /a 186 /g 27 6 /a 186 
batbox /g 1 7 /a 186 /g 27 7 /a 186 
batbox /g 1 8 /a 186 /g 27 8 /a 186 
batbox /g 1 9 /a 186 /g 27 9 /a 186 
batbox /g 1 10 /a 186 /g 27 10 /a 186 
batbox /g 1 11 /a 186 /g 27 11 /a 186 
batbox /g 1 12 /a 186 /g 27 12 /a 186 
batbox /g 1 13 /a 186 /g 27 13 /a 186 
batbox /g 1 14 /a 186 /g 27 14 /a 186 
batbox /g 1 15 /a 186 /g 27 15 /a 186 
batbox /g 1 16 /a 186 /g 27 16 /a 186 
batbox /g 1 17 /a 186 /g 27 17 /a 186 
batbox /g 1 18 /a 186 /g 27 18 /a 186 
batbox /g 1 19 /a 186 /g 27 19 /a 186 
batbox /g 1 20 /a 186 /g 27 20 /a 186 
batbox /g 1 21 /a 186 /g 27 21 /a 186 
batbox /g 1 22 /a 186 /g 27 22 /a 186 
batbox /g 1 23 /a 186 /g 27 23 /a 186 
batbox /g 1 24 /a 186 /g 27 24 /a 186 
batbox /g 1 25 /a 186 /g 27 25 /a 186 
batbox /g 1 26 /a 186 /g 27 26 /a 186

batbox /g %POSX% 26 /a 30 /g 0 28
:MENU_PRINCIPAL_CHOIX
batbox /g 4 12 /d "Press Enter To Start" /g 0 27
for /l %%n in (1,1,10) do (
   ping localhost -n 1 >nul
)
batbox /g 4 12 /d "                    " /g 0 27
for /l %%n in (1,1,10) do (
   ping localhost -n 1 >nul
)
batbox /k_
if %errorlevel% equ 13 ( goto :INIT_GAME ) else ( goto :MENU_PRINCIPAL_CHOIX )


:INIT_GAME
batbox /k_ /g 0 28 /d "Score: %score%" /g 0 28
if %POSX% lss 26 if %errorlevel% equ 332 call :MOV_DROITE
if %POSX% gtr 2 if %errorlevel% equ 330 call :MOV_GAUCHE
if %FireLock% equ 0 if %errorlevel% equ 32 call :FIRE
call :ENNEMI
if %FireLock% equ 1 call :FIRE_UP

if %EN1X% equ %FireX% if %EN1Y% equ %FireY% call :EN1_Killed
if %EN2X% equ %FireX% if %EN2Y% equ %FireY% call :EN2_Killed
if %EN3X% equ %FireX% if %EN3Y% equ %FireY% call :EN3_Killed

if %EN1Y% equ 26 goto Game_Over
if %EN2Y% equ 26 goto Game_Over
if %EN3Y% equ 26 goto Game_Over
goto :INIT_GAME

:MOV_GAUCHE
batbox /g %POSX% 26 /d " "
set /a POSX=%POSX%-1
batbox /g %POSX% 26 /a 30
exit /b
:MOV_DROITE
batbox /g %POSX% 26 /d " "
set /a POSX=%POSX%+1
batbox /g %POSX% 26 /a 30
exit /b
:FIRE
set FireX=%POSX%
set FireLock=1
batbox /g %FireX% %FireY% /a 179
exit /b
:FIRE_UP
batbox /g %FireX% %FireY% /d " "
set /a FireY=%FireY%-1
batbox /g %FireX% %FireY% /a 179
if %FireY% equ 2 set FireLock=0 &batbox /g %FireX% %FireY% /d " " &set FireY=25
exit /b

:ENNEMI
set /a EN1Time=%EN1Time%+1
set /a EN2Time=%EN2Time%+1
set /a EN3Time=%EN3Time%+1

if %EN1Lock% neq 1 ( call :EN1 ) else ( if %EN1Time% equ 10 call :EN1_DOWN )
if %EN2Lock% neq 1 ( call :EN2 ) else ( if %EN2Time% equ 10 call :EN2_DOWN )
if %EN3Lock% neq 1 ( call :EN3 ) else ( if %EN3Time% equ 10 call :EN3_DOWN )

if %EN1Time% equ 10 set EN1Time=0
if %EN2Time% equ 10 set EN2Time=0
if %EN3Time% equ 10 set EN3Time=0

if %EN1Time% equ 40 set EN1Time=0
if %EN2Time% equ 40 set EN2Time=0
if %EN3Time% equ 40 set EN3Time=0

exit /b

:EN1
set EN1Lock=1
set /a "EN1X=%random% %% 25"
set /a EN1X=%EN1X%+2
batbox /g %EN1X% %EN1Y% /a 4
exit /b
:EN1_DOWN
batbox /g %EN1X% %EN1Y% /d " "
set /a EN1Y=%EN1Y%+1
batbox /g %EN1X% %EN1Y% /a 4
exit /b
:EN1_Killed
set EN1Lock=0
batbox /g %EN1X% %EN1Y% /d " " 
set FireY=3
set EN1Y=2
set /a score=%score%+1
exit /b

:EN2
set EN2Lock=1
set /a "EN2X=%random% %% 25"
set /a EN2X=%EN2X%+2
batbox /g %EN2X% %EN2Y% /a 4
exit /b
:EN2_DOWN
batbox /g %EN2X% %EN2Y% /d " "
set /a EN2Y=%EN2Y%+1
batbox /g %EN2X% %EN2Y% /a 4
exit /b
:EN2_Killed
set EN2Lock=0
batbox /g %EN2X% %EN2Y% /d " " 
set FireY=3
set EN2Y=2
set /a score=%score%+1
exit /b

:EN3
set EN3Lock=1
set /a "EN3X=%random% %% 25"
set /a EN3X=%EN3X%+2
batbox /g %EN3X% %EN3Y% /a 4
exit /b
:EN3_DOWN
batbox /g %EN3X% %EN3Y% /d " "
set /a EN3Y=%EN3Y%+1
batbox /g %EN3X% %EN3Y% /a 4
exit /b
:EN3_Killed
set EN3Lock=0
batbox /g %EN3X% %EN3Y% /d " " 
set FireY=3
set EN3Y=2
set /a score=%score%+1
exit /b

:Game_Over
batbox /g 8 8 /d "Game Over"
pause>nul
goto :INIT
Rejoignez-nous