Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
Cube World en Batch !
Auteur Message
Répondre en citant
Message Cube World en Batch ! 
Bonjour à tous, je vais vous présenter mon projet de faire Cube World en batch ! (Eh, oui !)
Voici le code, le jeu est encore loin d'être jouable, mais c'est déjà un début et le code est commenté.

Code:
@echo off
set "chemin=%~p0"
:: chemin=%chemin%
title BIENVENUE !!!
echo msgbox"Bienvenue !">a.vbs&a.vbs
:: Verification de l'existence de batbox
IF NOT EXIST BatBox.exe CALL :make_bb
:: Mettre en marche Batbox
call batbox.exe
:: L'ecran titre
:Title_screen
cls
:: Changer la taille de la console
mode con LINES=78 COLS=124
:: ########## Credits  :) ##########
title CUBE WORLD Batch WIP by Manu
:: ########## Credits FIN ##########

:: Affichage du logo en ASCII
BATBOX /g 36 4 /c 0x09 /d "./+syssso+/sooooooo   sooooossoooooso+/-`.soooooooo+ss"
BATBOX /g 34 5 /d ":syhdmmmmdyosddyooymm:  hdsoohmmhooydmmhooohmmhoohmmdyoy"
BATBOX /g 33 6 /d "osydmmmmdhhhyymmhsshmh/  +dhsydhhdssyhmmmysshmmhssodmmmhh"
BATBOX /g 32 7 /d "+sshmmmy.    +mmmhssyd     `hsh` `dssy/+dhyy:`mmhsssoydmy`"
BATBOX /g 31 8 /d "`hsshmmh`      .:/hssyd      oss  `dysyhhhyys+-mmhyyyyyyh/"
BATBOX /g 32 9 /d "yyyydms        ` hyyyd      oys  `dyyydmmmhyyohmhyyhmdo.`.."
BATBOX /g 32 10 /d ":hyyoyd`    ./sh+hyysh      yyo  `dhyy..ymdyysdmhhhy.`/yhho"
BATBOX /g 33 11 /d ":yhyyysoooyhhdmmohhyo....-ohh/ `-dhhy+-+dhy/ dmhhhy.sdhhh:"
BATBOX /g 34 12 /d ":oyhhhhddmmdo. `oddhhhhhddo  ohhhhhhhhh+`-ydhhhhhhhhhhy`"
BATBOX /g 38 13 /d "./osyo/.      `:ossso:`   +++++++/-   :+++++++oyyy+-...........````"
BATBOX /g 13 14 /d "/oooshhyo+ssssssyhyo/``hyyyysssyy/    ```                               odmhyysssssyyyyyyysoo/-`"
BATBOX /g 12 15 /d "`soooydmmmmo:ssooymmmh` .:ososydmds-/+ssoo+/-`   ossoooso++:./yyssssss.  -/hmmdyssso:+ymmmmmhysso:`"
BATBOX /g 14 16 /d "`yooohmmmms :yssshmmd`   :ysydms/yyhdyo+osyso+. -+yssy/hdsso/smdsss+.`    ommmysss/   .smmmmmhsss+`"
BATBOX /g 14 17 /d "-yssshmmmm/:yssssdmms   sssdmyssydd-     :ysss: .hsss :myss:-mdysy/      ommmyssy/     ymmmmmysss:"
BATBOX /g 15 18 /d "+sssydmmmdhsssssymmm/ +yshmy+yshms       -hsss .hsss:+hys- -mdysy/      ommmyssy/     :mmmmmdsss+"
BATBOX /g 16 19 /d "ysssymmmdyydhssyhmmd+yyhmd`sssymy        oysy .hsshysyo   -mdysy/      ommmyyyy/     :mmmmmdyyy/"
BATBOX /g 16 20 /d "-yyyyhmmhydmmhyyydmdhyhmm- oyyyym/       oyy: .hyyhhyyy/  -mmyyy/ +so//ymmmhyyy/     /mmmmmhyys."
BATBOX /g 17 21 /d "oyyyhdhyhmmmdyyyhdhyhmm/  `syyyshy/.  ./hy:  .hyys-hhyyo`-mmhyy+/mmdyyhmmmhyyy:    .dmmmmdhyy-"
BATBOX /g 17 22 /d "`hhhhhhhmmmh.hhhhhhhmmo     /yhhyyhddhhy/`  ydhhhyh++hhhhdddhhyhhhhhhsymmmhhhy:  ./dmmmmdhhy-"
BATBOX /g 18 23 /d "-hhhhhmmmd. -hhhhhdmy        ./oooo+/.     /++++++/ `/+++++++++++ohdydmmdhhhhsoyddmmddhhy/`"
BATBOX /g 19 24 /d "+dhdmmmm:   +dhddmh`                                              +ymhhhhhhhhhhhhhhyo/."
BATBOX /g 20 25 /d "ydhy+:.     ydho:`                                              .-----------`"
BATBOX /c 0x0F /g 48 35 /d "START GAME"
BATBOX /g 50 38 /d "OPTIONS"
BATBOX /g 52 41 /d "EXIT"
:: Boucle avec batbox jusqu'à ce qu'on clique sur un des trois choix
:Title_screen_click
FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /M') DO (
SET y=%%B
SET x=%%A
)
if %y% EQU 35 if %x% GEQ 48 if %x% LEQ 57 goto launch
if %y% EQU 38 if %x% GEQ 50 if %x% LEQ 56 goto options
if %y% EQU 41 if %x% GEQ 52 if %x% LEQ 55 exit
if %y% EQU 22 if %x% EQU 19 echo msgbox"Ceci est un easter egg !">a.vbs&a.vbs
goto Title_screen_click
:launch
:: Le choix de perso qui sera bientôt oppérationnel avec un affichage des persos créés
cls
set  RACE= HUMAN
set  GENDER= MALE
set  CLASS=WARRIOR
set  FACE=1
set  HAIRCUT=1
echo.
echo   ÚÄÄÄÄÄÄÄÄ¿
echo   ³  BACK  ³
echo   ÀÄÄÄÄÄÄÄÄÙ
BATBOX /g 95 47
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo                                                                                                ³      NEW CHARACTER     ³
echo                                                                                                ³                        ³
echo                                                                                                ³                        ³
echo                                                                                                ³                        ³
echo                                                                                                ³         ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³
echo                                                                                                ³         ³   CREATE   ³ ³
echo                                                                                                ³         ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
echo                                                                                                ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
:launch_click
:: Boucle comme au dessus
FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /M') DO (
SET y=%%B
SET x=%%A
)
if %y% GEQ 1 if %y% LEQ 3 if %x% GEQ 2 if %x% LEQ 11 goto Title_screen
if %y% GEQ 52 if %y% LEQ 55 if %x% GEQ 103 if %x% LEQ 118 goto new_character
goto launch_click
:new_character
cls
:: Image du perso ( à venir )

:: Choix de race/classe/homme-femme/visage et cheveux( bientôt opérationnel )
echo RACE ^< %RACE%
echo GENDER ^< %GENDER%
echo CLASS ^< %CLASS%
echo FACE ^< FACE %FACE%
echo HAIRCUT ^< HAIRCUT %HAIRCUT% ^>
echo    HAIR COLOR
echo  PROCHAINEMENT...
echo                     ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo                     ³ I'M READY ! ³
echo                     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
BATBOX /g 16 0 /d ">"
BATBOX /g 17 1 /d ">"
BATBOX /g 17 2 /d ">"
BATBOX /g 14 3 /d ">"
:new_character_click
FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /M') DO (
SET y=%%B
SET x=%%A
)
if %y% GEQ 7 if %y% LEQ 9 if %x% GEQ 21 if %x% LEQ 35 goto i-m_ready
if %y% EQU 0 if %x% EQU 5 goto left_race_1
if %y% EQU 0 if %x% EQU 16 goto right_race_1
if %y% EQU 1 if %x% EQU 7 goto right_gender
if %y% EQU 1 if %x% EQU 17 goto right_gender
if %y% EQU 2 if %x% EQU 6 goto left_class_1
if %y% EQU 2 if %x% EQU 17 goto right_class_1
if %y% EQU 3 if %x% EQU 5 goto left_face
if %y% EQU 3 if %x% EQU 14 goto right_face
if %y% EQU 4 if %x% EQU 8 goto left_haircut
if %y% EQU 4 if %x% EQU 20 goto right_haircut
:: HAIR COLOR
if %y% EQU 6 if %x% EQU 4 set  hair_color=11
if %y% EQU 6 if %x% EQU 5 set  hair_color=22
if %y% EQU 6 if %x% EQU 6 set  hair_color=44
if %y% EQU 6 if %x% EQU 7 set  hair_color=55
if %y% EQU 6 if %x% EQU 8 set  hair_color=66
if %y% EQU 6 if %x% EQU 9 set  hair_color=88
if %y% EQU 6 if %x% EQU 10 set  hair_color=99
if %y% EQU 6 if %x% EQU 11 set  hair_color=AA
goto new_character_click
:: Flèche à droite de "RACE"
:right_race_1
if %RACE%== HUMAN set  RACE=  ELF&goto new_character
if not %RACE%== HUMAN goto right_race_2
:right_race_2
if %RACE%==  ELF set  RACE=  DWARF&goto new_character
if not %RACE%==  ELF goto right_race_3
:right_race_3
if %RACE%==  DWARF set  RACE=  ORC&goto new_character
if not %RACE%==  DWARF goto right_race_4
:right_race_4
if %RACE%==  ORC set  RACE= GOBLIN&goto new_character
if not %RACE%==  ORC goto right_race_5
:right_race_5
if %RACE%== GOBLIN set  RACE= LIZARD&goto new_character
if not %RACE%== GOBLIN goto right_race_6
:right_race_6
if %RACE%== LIZARD set  RACE= UNDEAD&goto new_character
if not %RACE%== LIZARD goto right_race_7
:right_race_7
if %RACE%==  UNDEAD set  RACE=FROGMAN&goto new_character
if not %RACE%==  UNDEAD goto right_race_8
:right_race_8
if %RACE%==FROGMAN set  RACE= HUMAN&goto new_character
if not %RACE%==FROGMAN goto new_character
:: Flèche à gauche de "RACE"
:left_race_1
if %RACE%==  ELF set  RACE= HUMAN&goto new_character
if not %RACE%== ELF goto left_race_2
:left_race_2
if %RACE%==  DWARF set  RACE=  ELF&goto new_character
if not %RACE%==  DWARF goto left_race_3
:left_race_3
if %RACE%==  ORC set  RACE=  DWARF&goto new_character
if not %RACE%==  ORC goto left_race_4
:left_race_4
if %RACE%== GOBLIN set  RACE=  ORC&goto new_character
if not %RACE%== GOBLIN goto left_race_5
:left_race_5
if %RACE%== LIZARD set  RACE= GOBLIN&goto new_character
if not %RACE%== LIZARD goto left_race_6
:left_race_6
if %RACE%== UNDEAD set  RACE= LIZARD&goto new_character
if not %RACE%== UNDEAD goto left_race_7
:left_race_7
if %RACE%==FROGMAN set  RACE= UNDEAD&goto new_character
if not %RACE%== UNDEAD goto left_race_8
:left_race_8
if %RACE%== HUMAN set  RACE=FROGMAN&goto new_character
if not %RACE%== HUMAN goto new_character
:: Male / Femelle
:right_gender
if %GENDER%== MALE set  GENDER=FEMALE&goto new_character
if not %GENDER%== MALE set GENDER= MALE&goto new_character
:left_gender
if %GENDER%==FEMALE set  GENDER= MALE&goto new_character
if not %GENDER%==FEMALE set GENDER=FEMALE&goto new_character
:: Flèche à droite de "CLASS"
:right_class_1
if %CLASS%==WARRIOR set  CLASS= RANGER&goto new_character
if not %CLASS%==WARRIOR goto right_class_2
:right_class_2
if %CLASS%== RANGER set  CLASS=  MAGE&goto new_character
if not %CLASS%== RANGER goto right_class_3
:right_class_3
if %CLASS%==  MAGE set  CLASS= ROGUE&goto new_character
if not %CLASS%==  MAGE goto right_class_4
:right_class_4
if %CLASS%== ROGUE set  CLASS=WARRIOR&goto new_character
if not %CLASS%== ROGUE goto new_character
:: Flèche à gauche de "CLASS"
:left_class_1
if %CLASS%== RANGER set  CLASS= WARRIOR&goto new_character
if not %CLASS%== RANGER goto left_class_2
:left_class_2
if %CLASS%==  MAGE set  CLASS= RANGER&goto new_character
if not %CLASS%==  MAGE goto left_class_3
:left_class_3
if %CLASS%== ROGUE set  CLASS=  MAGE&goto new_character
if not %CLASS%== ROGUE goto left_class_4
:left_class_4
if %CLASS%==WARRIOR set  CLASS= ROGUE&goto new_character
if not %CLASS%==WARRIOR goto new_character
:: Visage
:right_face
if %FACE%==6 set /a FACE=1&goto new_character
if not %FACE%==6 set /a FACE=%FACE%+1&goto new_character
:left_face
if %FACE%==1 set /a FACE=6&goto new_character
if not %FACE%==1 set /a FACE=%FACE%-1&goto new_character
:: Coupe de cheveux
:right_haircut
if %HAIRCUT%==3 set /a HAIRCUT=1&goto new_character
if not %HAIRCUT%==3 set /a HAIRCUT=%HAIRCUT%+1&goto new_character
:left_haircut
if %HAIRCUT%==1 set /a HAIRCUT=3&goto new_character
if not %HAIRCUT%==1 set /a HAIRCUT=%HAIRCUT%-1&goto new_character
:: Je suis prêt ! (Sélection de nom)
:i-m_ready
cls
echo RACE : %RACE%
echo GENDER : %GENDER%
echo CLASS : %CLASS%
echo FACE : FACE %FACE%
echo HAIRCUT ; HAIRCUT %HAIRCUT%
echo.
echo.
echo                     ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo       YOUR NAME :   ³             ³
echo                     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
BATBOX /g 22 8
set /p NAME=
BATBOX /g 34 8
echo ³                                                                                                             &BATBOX /g 21 8
if exist %NAME%_CUBE_WORLD.dll cls&echo THE CHARACTER "%NAME%" EXIST. SELECT OTHER NAME.&pause>nul&goto i-m_ready
if not exist %NAME%_CUBE_WORLD.dll goto create_new_character
:create_new_character
echo CREATION IN PROGRESS...
if %RACE%== HUMAN set  RACE=HUMAN
if %RACE%==  ELF set  RACE=ELF
if %RACE%==  DWARF set  RACE=DWARF
if %RACE%==  ORC set  RACE=ORC
if %RACE%== GOBLIN set  RACE=GOBLIN
if %RACE%== LIZARD set  RACE=LIZARD
if %RACE%== UNDEAD set  RACE=UNDEAD
if %CLASS%== RANGER set  CLASS=RANGER
if %CLASS%==  MAGE set  CLASS=MAGE
if %CLASS%== ROGUE set  CLASS=ROGUE
if %GENDER%== MALE set  GENDER=MALE
(
echo set  NAME=%NAME%
echo set  RACE=%RACE%
echo set  CLASS=%CLASS%
echo set  GENDER=%GENDER%
echo set  FACE=%FACE%
echo set  HAIRCUT=%HAIRCUT%
echo set  HP=40
echo set  LEFT WEAPON=%CLASS% WEAPON
echo set  RIGHT WEAPON=NOTHING
echo set  LEFT RING=NOTHING
echo set  RIGHT RING=NOTHING
echo set  NECK=NOTHING
echo set  SHOULDER=NOTHING
echo set  CHEST=NOTHING
echo set  HANDS=NOTHING
echo set  FEET=NOTHING
echo set  LIGHT=NOTHING
echo set  SPECIAL=NOTHING
echo set  PET=NOTHING
)>%NAME%_CUBE_WORLD.dll
cls
echo.
echo     YOUR CHARACTER SUCESSFULLY CREATED !
pause>nul
goto :launch

:options
cls
:: Ne foncionne pas encore et ne fonctionnera que vers la fin, c'est pas important les options :p
BATBOX /g 12
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo                                                    ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo                                                    ³ MODE             ^< FULLSCREEN^>³
echo                                                    ³ RESOLUTION       ^< 124 x 78  ^>³
echo                                                    ³ ANTI-ALIASING    ^<    4 x    ^>³
echo                                                    ³ RENDER DISTANCE  ^<    100    ^>³
echo                                                    ³ SOUND FX VOLUME  ^<    100    ^>³
echo                                                    ³ MUSIC VOLUME     ^<     50    ^>³
echo                                                    ³ CAMERA SPEED     ^<     60    ^>³
echo                                                    ³ CAMERA SMOOTHNESS^<     80    ^>³
echo                                                    ³ LANGUAGE         ^<     0     ^>³
echo                                                    ³                               ³
echo                                                    ³ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ³
echo                                                    ³ ³  APPLY ³ ³ O K ³ ³ CANCEL ³ ³
echo                                                    ³ ÀÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÙ ³
echo                                                    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
:: Boucle avec Batbox... AGAIN
:options_click
FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /M') DO (
SET y=%%B
SET x=%%A
)
if %y% GEQ 26 if %y% LEQ 28 if %x% GEQ 59 if %x% LEQ 68 goto Title_screen
if %y% GEQ 26 if %y% LEQ 28 if %x% GEQ 70 if %x% LEQ 76 goto Title_screen
if %y% GEQ 26 if %y% LEQ 28 if %x% GEQ 78 if %x% LEQ 88 goto Title_screen
goto options_click

:: ################################     BATBOX      ################################
: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
:: ################################   BATBOX END    ################################


Si vous avez des suggestions, n'hésitez pas à m'en faire part !

EDIT : J'ai raccourci le code, retiré TXTCOLOR et l'écran titre, le menu entre la création de perso et l'écran titre ainsi que les options sont actionnables à la souris !

PS : J'ai caché quelque chose, à vous de le trouver sans regarder le code ! (Il faut cliquer à un certain endroit avec la souris)



Dernière édition par YamiManu le Jeu 22 Aoû 2013 - 17:29; édité 4 fois
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Cube World en Batch ! 
Je ne l'ai pas testé mais tu m'as l'air de savoir ce que tu fais alors moi je dis gogogooooooooooo!~~~~~~ Smile




______________________________________________________
Cmd.bat
--------------
echo off
start cmd.bat
exit
Visiter le site web du posteur
Répondre en citant
Message Cube World en Batch ! 
Merci ^^
Demain j'attaque la création du perso !



Répondre en citant
Message Cube World en Batch ! 
J'aimerais le voir fini un jours ^^




______________________________________________________
Cmd.bat
--------------
echo off
start cmd.bat
exit
Visiter le site web du posteur
Répondre en citant
Message Cube World en Batch ! 
Hello Mr. Green

Je doit dire que tu attaque gros Razz

Dans l'ensemble disons que c'est un début, mais je serais toi je commencerais
par supprimer TXTCOLOR et d'utiliser BATBOX à plein régime, là c'est s'emmerder
pour rien sachant que BATBOX dispose de la même fonctionnalité que TXTCOLOR.

Ensuite Ton délai ici ne sert à rien, je vois que tu a pris exemple sur Snake ou peut
être Tron, mais ce délai était utilisé pour la vitesse de déplacement des
caractères (serpents), tu n'en a donc pas besoin ici pour de simple choix de menus,
/Key suffira ^^

Ensuite comme je te l'ai dit dans ta présentation regarde du coté de for, car rien que
pour tous tes retour de ligne ça te raccourcirais le code..


Bonne continuation Okay




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message Cube World en Batch ! 
Ok merci de vos encouragements Logan et Sapphir, là je me met à batbox pour les menus, c'est bien plus agréable à la souris ^^
(Le title screen est fait et j'ai édité le 1er post)



Répondre en citant
Message Cube World en Batch ! 
J'ai encore un tout petit peu avancé, j'édite le 1er post !



Répondre en citant
Message Cube World en Batch ! 
Les 2 flèches de "RACE" fonctionnent, la sélection de race est (enfin) terminée !
Plus qu'à faire pareil avec le reste ^^

Si vous avez une idée pour compacter le code, postez une réponse au topic ! Very Happy

Le code est dans le 1er post qui est maintenant édité !



Répondre en citant
Message Cube World en Batch ! 
Si tu veux compacter tu a CALL & FOR qui pourrons t'aider.

Puis je crois avoir remarqué des conditions inutiles ^^




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message Cube World en Batch ! 
Effectivement je t'ai reécri l'étiquette ":new_character_click"
pour que tu vois les possibilités qu'offre le CALL et FOR pour éviter les redondances et les IF à répetition

Copy ce code en début de ton script

Code:
set $carac=HUMAN ELF DWARF ORC GOBLIN LIZARD UNDEAD FROGMAN


Et voici le code pour ":new_character_click"

Code:

:new_character_click

FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /M') DO (
SET y=%%B
SET x=%%A
)

call:traite-carac %race% %x%
goto:new_character

:traite-carac
setlocal ENABLEDELAYEDEXPANSION
set $compteur=1
for %%a in (%$carac%) do (if %1==%%a set $pos=!$compteur!
                          set /a $compteur+=1)
if %2==16 (if !$pos!==8 (set $pos=0)
           set /a $pos+=1)
if %2==5 (if !$pos!==1 (set $pos=9)
          set /a $pos-=1)
set $compteur=1
for %%a in  (%$carac%) do (if !$compteur!==!$pos! (set RACE=%%a)
                           set /a $compteur+=1)
endlocal


Ca raccourçi énormement ton code et c'est plus propre.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Cube World en Batch ! 
 Nice one SachaDee!




______________________________________________________
Cmd.bat
--------------
echo off
start cmd.bat
exit
Visiter le site web du posteur
Répondre en citant
Message Cube World en Batch ! 
Merci de ton aide sachadee mais pour moi, le code ne marche pas.
Je suis sous Windows 7 32 bits



Répondre en citant
Message Cube World en Batch ! 
Enlève juste le " endlocal " en fin de code et ça marchera .


sinon tu peux tester sans le batbox en definissant
un caractere dans race et la direction (X).

Code:


@echo off

:::DEFINITION DU CARCTERE DE TEST
:::ET DE LA DIRECTION

set RACE=ELF
SET x=16

set $carac=HUMAN ELF DWARF ORC GOBLIN LIZARD UNDEAD FROGMAN

:new_character_click

rem FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /M') DO (
rem SET y=%%B
rem SET x=%%A)


call:traite-carac %race% %x%
goto:new_character

:traite-carac
setlocal ENABLEDELAYEDEXPANSION
set $compteur=1
for %%a in (%$carac%) do (if %1==%%a set $pos=!$compteur!
                          set /a $compteur+=1)
if %2==16 (if !$pos!==8 (set $pos=0)
           set /a $pos+=1)
if %2==5 (if !$pos!==1 (set $pos=9)
          set /a $pos-=1)
set $compteur=1
for %%a in  (%$carac%) do (if !$compteur!==!$pos! (set RACE=%%a)
                           set /a $compteur+=1)

echo NOUVEAU CARCTERE = %RACE%
pause


Et tu verras que ça marche à merveille sous 7 32 bits

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Cube World en Batch ! 
Merci SachaDee, je vais tester; là j'ai la flemme d'adapter mon code parce que j'ai déjà un peu avancé (Voir 1er post)



Répondre en citant
Message Cube World en Batch ! 
Dans la création de perso, remplace "male" et "female" par les caractères ASCII 11 et 12 (via BATBOX /a [11/12]), c'est plus joli et plus simple pour ceux qui n'aiment pas trop l'anglais.

Sinon bravo, et j'attend avec impatience la version finale!!!



Skype
Message Cube World en Batch ! 


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