Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
Jeux de dplacements
Auteur Message
Répondre en citant
Message Jeux de dplacements 
bonjour a tous, Mr. Green
Le but est simple ,il faut ramasser une clé pour ouvrir un coffre et ensuite obtenir des points.
Haut :H Bas :B Droite:D Gauche:G V:Valider

Code:

@echo off
mode 44,18
color 3E
TITLE Chest by PL
::sur batch.xoo.it :SKYSEVEN33::
setlocal enabledelayedexpansion

:Restart
set time=0
set c=3
set sckey=0
set score=0
set info=
set "cur="
set "p1="
set "p2= "
set "p3= "
set t=1
:Menu
cls
echo.
echo.
echo.
echo.
echo.
echo.               %p1% COMMENCER
echo.               %p2% AIDE
echo.               %p3% QUITTER
echo.
choice.exe /c:hbv /n
if %errorlevel%==3 goto :V
if %errorlevel%==2 goto :B
if %errorlevel%==1 goto :H
goto :Menu

:H
if not %t%==1 set "p%t%="&set /a t-=1
set p%t%=%cur%
goto :Menu

:B
if not %t%==3 set "p%t%="&set /a t+=1
set p%t%=%cur%
goto :Menu

:V
if %t%==1 goto :Add
if %t%==2 goto :Help
if %t%==3 cls&ping localhost -n 2 > nul&exit
goto :Menu

:Mouv
cls
set x-%x%-y-%y%=
if %c%==3 set vie=
if %time%==2 set info=
if %time%==1 set /A time+=1
if !x-%x%-y-%y%!==!%mine%! goto :Loose
if !x-%x%-y-%y%!==!%mine2%! goto :Loose
if !x-%x%-y-%y%!==!%mine3%! goto :Loose
if !x-%x%-y-%y%!==!%mine4%! goto :Loose
if !x-%x%-y-%y%!==!%mine5%! goto :Loose
if !x-%x%-y-%y%!==!%mine6%! goto :Loose
if !x-%x%-y-%y%!==!%mine7%! goto :Loose
if !x-%x%-y-%y%!==!%mine8%! goto :Loose
if !x-%x%-y-%y%!==!%chest%! call :chest
if !x-%x%-y-%y%!==!%key%! call :info1
echo.
echo. ÚÄÄÄÄÄÄÄÄÄÄÄ¿
echo. ³%x-0-y-0%%x-0-y-1%%x-0-y-2%%x-0-y-3%%x-0-y-4%%x-0-y-5%%x-0-y-6%%x-0-y-7%%x-0-y-8%%x-0-y-9%%x-0-y-10%³
echo. ³%x-1-y-0%%x-1-y-1%%x-1-y-2%%x-1-y-3%%x-1-y-4%%x-1-y-5%%x-1-y-6%%x-1-y-7%%x-1-y-8%%x-1-y-9%%x-1-y-10%³                  Vie : [%vie%]
echo. ³%x-2-y-0%%x-2-y-1%%x-2-y-2%%x-2-y-3%%x-2-y-4%%x-2-y-5%%x-2-y-6%%x-2-y-7%%x-2-y-8%%x-2-y-9%%x-2-y-10%³                  Score : %score%
echo. ³%x-3-y-0%%x-3-y-1%%x-3-y-2%%x-3-y-3%%x-3-y-4%%x-3-y-5%%x-3-y-6%%x-3-y-7%%x-3-y-8%%x-3-y-9%%x-3-y-10%³                   cl‚ : %sckey%
echo. ³%x-4-y-0%%x-4-y-1%%x-4-y-2%%x-4-y-3%%x-4-y-4%%x-4-y-5%%x-4-y-6%%x-4-y-7%%x-4-y-8%%x-4-y-9%%x-4-y-10%³
echo. ³%x-5-y-0%%x-5-y-1%%x-5-y-2%%x-5-y-3%%x-5-y-4%%x-5-y-5%%x-5-y-6%%x-5-y-7%%x-5-y-8%%x-5-y-9%%x-5-y-10%³
echo. ³%x-6-y-0%%x-6-y-1%%x-6-y-2%%x-6-y-3%%x-6-y-4%%x-6-y-5%%x-6-y-6%%x-6-y-7%%x-6-y-8%%x-6-y-9%%x-6-y-10%³
echo. ³%x-7-y-0%%x-7-y-1%%x-7-y-2%%x-7-y-3%%x-7-y-4%%x-7-y-5%%x-7-y-6%%x-7-y-7%%x-7-y-8%%x-7-y-9%%x-7-y-10%³
echo. ³%x-8-y-0%%x-8-y-1%%x-8-y-2%%x-8-y-3%%x-8-y-4%%x-8-y-5%%x-8-y-6%%x-8-y-7%%x-8-y-8%%x-8-y-9%%x-8-y-10%³   
echo. ³%x-9-y-0%%x-9-y-1%%x-9-y-2%%x-9-y-3%%x-9-y-4%%x-9-y-5%%x-9-y-6%%x-9-y-7%%x-9-y-8%%x-9-y-9%%x-9-y-10%³
echo. ³%x-10-y-0%%x-10-y-1%%x-10-y-2%%x-10-y-3%%x-10-y-4%%x-10-y-5%%x-10-y-6%%x-10-y-7%%x-10-y-8%%x-10-y-9%%x-10-y-10%³  %info%
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
if %c%==0 goto:Fin
:Move
choice.exe /c:hbdg /n
if %errorlevel%==4 goto :Left
if %errorlevel%==3 goto :Right
if %errorlevel%==2 goto :Down
if %errorlevel%==1 goto :Up
goto :Move

:Down
if not %x%==10 set "x-%x%-y-%y%= "&set /a x+=1
goto :Mouv

:Up
if not %x%==0 set "x-%x%-y-%y%= "&set /a x-=1
goto :Mouv

:Right
if not %y%==10 set "x-%x%-y-%y%= "&set /a y+=1
goto :Mouv

:Left
if not %y%==0 set "x-%x%-y-%y%= "&set /a y-=1
goto :Mouv

:Add
FOR /l %%A in (0,1,10) do (
  set "x-0-y-%%A= "
  set "x-1-y-%%A= "
  set "x-2-y-%%A= "
  set "x-3-y-%%A= "
  set "x-4-y-%%A= "
  set "x-5-y-%%A= "
  set "x-6-y-%%A= "
  set "x-7-y-%%A= "
  set "x-8-y-%%A= "
  set "x-9-y-%%A= "
  set "x-10-y-%%A= "
 )

set /a keyx=%random%%%11
set /a keyy=%random%%%11
set /a chestx=%random%%%11
set /a chesty=%random%%%11
set /a minex=%random%%%11
set /a miney=%random%%%11
set /a mine2x=%random%%%11
set /a mine2y=%random%%%11
set /a mine3x=%random%%%11
set /a mine3y=%random%%%11
set /a mine4x=%random%%%11
set /a mine4y=%random%%%11
set /a mine5x=%random%%%11
set /a mine5y=%random%%%11
set /a mine6x=%random%%%11
set /a mine6y=%random%%%11
set /a mine7x=%random%%%11
set /a mine7y=%random%%%11
set /a mine8x=%random%%%11
set /a mine8y=%random%%%11

if %keyx% LEQ 6 goto :Add
if x-%minex%-y-%miney%==x-0-y-0 goto :Add
if x-%mine2x%-y-%mine2y%==x-0-y-0 goto :Add
if x-%mine3x%-y-%mine3y%==x-0-y-0 goto :Add
if x-%mine4x%-y-%mine4y%==x-0-y-0 goto :Add
if x-%mine5x%-y-%mine5y%==x-0-y-0 goto :Add
if x-%mine6x%-y-%mine6y%==x-0-y-0 goto :Add
if x-%mine7x%-y-%mine7y%==x-0-y-0 goto :Add
if x-%mine8x%-y-%mine8y%==x-0-y-0 goto :Add

if %mine2x%-%mine2y%==%keyx%-%keyy% goto :Add
if %mine3x%-%mine3y%==%keyx%-%keyy% goto :Add
if %mine4x%-%mine4y%==%keyx%-%keyy% goto :Add
if %mine5x%-%mine5y%==%keyx%-%keyy% goto :Add
if %mine6x%-%mine6y%==%keyx%-%keyy% goto :Add
if %mine7x%-%mine7y%==%keyx%-%keyy% goto :Add
if %mine8x%-%mine8y%==%keyx%-%keyy% goto :Add

if %mine2x%-%mine2y%==%chestx%-%chesty% goto :Add
if %mine3x%-%mine3y%==%chestx%-%chesty% goto :Add
if %mine4x%-%mine4y%==%chestx%-%chesty% goto :Add
if %mine5x%-%mine5y%==%chestx%-%chesty% goto :Add
if %mine6x%-%mine6y%==%chestx%-%chesty% goto :Add
if %mine7x%-%mine7y%==%chestx%-%chesty% goto :Add
if %mine8x%-%mine8y%==%chestx%-%chesty% goto :Add

if x-%chestx%-y-%chesty%==x-0-y-0 goto :Add
if x-%keyx%-y-%keyy%==x-0-y-0 goto :Add

set "x-%x%-y-%y%= "
set x=0&set y=0

set x-%keyx%-y-%keyy%=´
set x-%chestx%-y-%chesty%=þ
set x-%minex%-y-%miney%=x
set x-%mine2x%-y-%mine2y%=x
set x-%mine3x%-y-%mine3y%=x
set x-%mine4x%-y-%mine4y%=x
set x-%mine5x%-y-%mine5y%=x
set x-%mine6x%-y-%mine6y%=x
set x-%mine7x%-y-%mine7y%=x
set x-%mine8x%-y-%mine8y%=x

set chest=x-%chestx%-y-%chesty%
set key=x-%keyx%-y-%keyy%
set mine=x-%minex%-y-%miney%
set mine2=x-%mine2x%-y-%mine2y%
set mine3=x-%mine3x%-y-%mine3y%
set mine4=x-%mine4x%-y-%mine4y%
set mine5=x-%mine5x%-y-%mine5y%
set mine6=x-%mine6x%-y-%mine6y%
set mine7=x-%mine7x%-y-%mine7y%
set mine8=x-%mine8x%-y-%mine8y%
goto :Mouv

:Loose
set /a score-=50
set /a c-=1
if %c%==2 set "vie= "
if %c%==1 set "vie=  "
if %c%==0 set "vie=   "
goto :Add

:chest
if %sckey%==1 ( set /A score+=100
set sckey=0
set time=1
set info=+100 points ^^!
goto :Add)
goto :info2

:info1
set sckey=1&set time=1&set info=cl‚ recuper‚ ^^!
goto :Eof

:info2
set time=1&set info=il vous faut une cl‚ ^^!
goto :Add

:Help
cls
echo.
echo.
echo.
echo.   HAUT : H   BAS: B   
echo.   DROITE : D   GAUCHE : G   
echo.   VALIDER : V
echo.
pause>nul
goto :Menu

:Fin
cls
echo.
echo.
echo.
echo.        Vous avez perdu ^^!^^!:(
echo.
echo.
ping localhost -n 3 > nul
goto :Restart




Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Re: Jeux de dplacements 
ya t'il un moyen de réduire le code d'affichage du "terrain" ?si oui lequel ?
Perso je n'y arrive pas avec FOR...
merci d'avance Wink



Visiter le site web du posteur
Répondre en citant
Message Jeux de dplacements 
Je n'ai pas compris cette partie du code, surtout l'arrangement des variables :
Code:
echo.
echo. ÚÄÄÄÄÄÄÄÄÄÄÄ¿
echo. ³%x-0-y-0%%x-0-y-1%%x-0-y-2%%x-0-y-3%%x-0-y-4%%x-0-y-5%%x-0-y-6%%x-0-y-7%%x-0-y-8%%x-0-y-9%%x-0-y-10%³
echo. ³%x-1-y-0%%x-1-y-1%%x-1-y-2%%x-1-y-3%%x-1-y-4%%x-1-y-5%%x-1-y-6%%x-1-y-7%%x-1-y-8%%x-1-y-9%%x-1-y-10%³                  Vie : [%vie%]
echo. ³%x-2-y-0%%x-2-y-1%%x-2-y-2%%x-2-y-3%%x-2-y-4%%x-2-y-5%%x-2-y-6%%x-2-y-7%%x-2-y-8%%x-2-y-9%%x-2-y-10%³                  Score : %score%
echo. ³%x-3-y-0%%x-3-y-1%%x-3-y-2%%x-3-y-3%%x-3-y-4%%x-3-y-5%%x-3-y-6%%x-3-y-7%%x-3-y-8%%x-3-y-9%%x-3-y-10%³                   cl‚ : %sckey%
echo. ³%x-4-y-0%%x-4-y-1%%x-4-y-2%%x-4-y-3%%x-4-y-4%%x-4-y-5%%x-4-y-6%%x-4-y-7%%x-4-y-8%%x-4-y-9%%x-4-y-10%³
echo. ³%x-5-y-0%%x-5-y-1%%x-5-y-2%%x-5-y-3%%x-5-y-4%%x-5-y-5%%x-5-y-6%%x-5-y-7%%x-5-y-8%%x-5-y-9%%x-5-y-10%³
echo. ³%x-6-y-0%%x-6-y-1%%x-6-y-2%%x-6-y-3%%x-6-y-4%%x-6-y-5%%x-6-y-6%%x-6-y-7%%x-6-y-8%%x-6-y-9%%x-6-y-10%³
echo. ³%x-7-y-0%%x-7-y-1%%x-7-y-2%%x-7-y-3%%x-7-y-4%%x-7-y-5%%x-7-y-6%%x-7-y-7%%x-7-y-8%%x-7-y-9%%x-7-y-10%³
echo. ³%x-8-y-0%%x-8-y-1%%x-8-y-2%%x-8-y-3%%x-8-y-4%%x-8-y-5%%x-8-y-6%%x-8-y-7%%x-8-y-8%%x-8-y-9%%x-8-y-10%³ 
echo. ³%x-9-y-0%%x-9-y-1%%x-9-y-2%%x-9-y-3%%x-9-y-4%%x-9-y-5%%x-9-y-6%%x-9-y-7%%x-9-y-8%%x-9-y-9%%x-9-y-10%³
echo. ³%x-10-y-0%%x-10-y-1%%x-10-y-2%%x-10-y-3%%x-10-y-4%%x-10-y-5%%x-10-y-6%%x-10-y-7%%x-10-y-8%%x-10-y-9%%x-10-y-10%³  %info%
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÙ
echo.


Car normalement X c'est l'horizontale et Y c'est la verticale non? Ou alors j'ai VRAIMENT pas compris les variables Laughing


Pour réduire ce code c'est simple, le seul souci c'est pour l'affichage des infos sur la vie, le score et la clé qu'il y a à droite, donc je déplace ça en haut :
Remplace ce que j'ai mis plus haut par ça :
Code:
echo Vie : [%vie%] ^| Score : %score% ^| cl‚ : %sckey% ^| %info%
echo. ÚÄÄÄÄÄÄÄÄÄÄÄ¿
for /L %%N in (0,1,9) do (
echo. ³!x-%%N-y-0!!x-%%N-y-1!!x-%%N-y-2!!x-%%N-y-3!!x-%%N-y-4!!x-%%N-y-5!!x-%%N-y-6!!x-%%N-y-7!!x-%%N-y-8!!x-%%N-y-9!!x-%%N-y-10!³
)
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÙ





______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message Jeux de dplacements 
Merci beaucoup pour ta réponse et pour ton code !
oui X est vertical et Y horizontal .Je sais c un peut embrouillant tout c X Mort de Rire



Visiter le site web du posteur
Répondre en citant
Message Jeux de dplacements 
Et il te convient le code? Car j'ai testé j'ai pas eu de problème mais dis moi hein Laughing
Ce code réduit le code d'affichage du terrain par plus de la moitié c'est déjà bien Smile

ça me rappelle le topic que j'avais créé où le but du mini jeu était de raccourcir les codes proposés
http://batch.xoo.it/t4811-Le-jeu-du-code-le-plus-court.htm




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message Jeux de dplacements 
Pourquoi mes points d’exclamations ne s'affichent pas ?



Visiter le site web du posteur
Répondre en citant
Message Jeux de dplacements 
Hugo7 a écrit:
Et il te convient le code? Car j'ai testé j'ai pas eu de problème mais dis moi hein Laughing
Ce code réduit le code d'affichage du terrain par plus de la moitié c'est déjà bien Smile

ça me rappelle le topic que j'avais créé où le but du mini jeu était de raccourcir les codes proposés
http://batch.xoo.it/t4811-Le-jeu-du-code-le-plus-court.htm

Ce code est parfait ^^
C ce que je cherchais !Smile
Encore merci !



Visiter le site web du posteur
Répondre en citant
Message Jeux de dplacements 
Avec ton code le coffre ou la clé ne s"affichent pas toujours ...
je sais pas pourquoi Crying or Very sad



Visiter le site web du posteur
Répondre en citant
Message Jeux de dplacements 
SKYSEVEN33 a écrit:
Pourquoi mes points d’exclamations ne s'affichent pas ?


SKYSEVEN33 a écrit:
Avec ton code le coffre ou la clé ne s"affichent pas toujours ...
je sais pas pourquoi Crying or Very sad


C'est à cause de la boucle FOR et de l'expention retardée des variables, pour afficher un point d'exclamation par exemple :

Au lieu de faire : !
Il faut l'échapper: !! ^^!

Pour les caractère spéciaux il suffit de les échapper avec ^, exemple :
& devient ^&

Voilà @ ++ Okay Wink



Dernière édition par Xenoxis le Lun 25 Avr 2016 - 21:01; édité 1 fois

______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Jeux de dplacements 
Xenoxis a écrit:
SKYSEVEN33 a écrit:
Pourquoi mes points d’exclamations ne s'affichent pas ?


SKYSEVEN33 a écrit:
Avec ton code le coffre ou la clé ne s"affichent pas toujours ...
je sais pas pourquoi Crying or Very sad


C'est à cause de la boucle FOR et de l'expention retardée des variables, pour afficher un point d'exclamation par exemple :

Au lieu de faire : !
Il faut l'échapper: !!

Pour les caractère spéciaux il suffit de les échapper avec ^, exemple :
& devient ^&

Voilà @ ++ Okay Wink

ok mrc pour ta réponse !Smile
Pour FOR ,je peux corriger se problème ?
perso j'ai mi "!!" et tjr pas.
@++ Mort de Rire



Visiter le site web du posteur
Répondre en citant
Message Jeux de dplacements 
Enfait pour ! c'est ^^!

Voilà gros fail :/

@ ++ Okay Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Jeux de dplacements 
Xenoxis a écrit:
Enfait pour ! c'est ^^!

Voilà gros fail :/

@ ++ Okay Wink

jsp si c'est moi mais sa marche tjr pas les ^^^! Mort de Rire



Visiter le site web du posteur
Répondre en citant
Message Jeux de dplacements 
Si le echo contenant "!" n'est PAS dans le for, il faut sortir de l'expansion retardée des variables avant d'afficher, ce qui te fera donc mettre "endlocal" avant le echo contenant le "!", mais il ne faudra pas oublier de remettre "setlocal enabledelayedexpansion enableextensions" juste après le echo!




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message Jeux de dplacements 
Hugo7 a écrit:
Si le echo contenant "!" n'est PAS dans le for, il faut sortir de l'expansion retardée des variables avant d'afficher, ce qui te fera donc mettre "endlocal" avant le echo contenant le "!", mais il ne faudra pas oublier de remettre "setlocal enabledelayedexpansion enableextensions" juste après le echo!


Mauvais idée, car il y a un nombre limité de faire setlocal dans un fichier batch, du coup, si tu fais trop de fois (en gros que tu passe trop de fois par la boucle) :
Code:

@echo off
setlocal enabledelayedexpansion

:boucle
...
...
endlocal
...
...
setlocal enabledelayedexpansion
goto boucle


Tu obtiendra une erreur au bout d'un certains nombre de passage sur la boucle, ce que tu peux faire pour éviter ça c'est :

- Soit tout bêtement ne pas utiliser de "setlocal enabledelayedexpansion"
- Trouver un code pour échapper le '!'
- Soit faire ce code (mais pas très performant :/) :
Code:
@echo off
setlocal enabledelayedexpansion

:boucle
...
...
cmd /v:off /c "echo;!"
...
...
setlocal enabledelayedexpansion
goto boucle


@ ++ Okay Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Jeux de dplacements 
Hugo7 a écrit:
Si le echo contenant "!" n'est PAS dans le for, il faut sortir de l'expansion retardée des variables avant d'afficher, ce qui te fera donc mettre "endlocal" avant le echo contenant le "!", mais il ne faudra pas oublier de remettre "setlocal enabledelayedexpansion enableextensions" juste après le echo!

ok mrc bcp !Smile
par contre pour le "bug" d'affichage du coffre ou de la clé ,il y a une solution?



Dernière édition par SKYSEVEN33 le Mer 27 Avr 2016 - 07:11; édité 1 fois
Visiter le site web du posteur
Message Jeux de dplacements 


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



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