elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  MapGame - "Motor" de juegos batch.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: MapGame - "Motor" de juegos batch.  (Leído 5,636 veces)
Pony-Magic

Desconectado Desconectado

Mensajes: 36



Ver Perfil
MapGame - "Motor" de juegos batch.
« en: 26 Marzo 2009, 06:56 am »

- MapGame 1.0 By PonyMagic
Motor para crear mapas de juegos de diferentes tamaños donde un personaje se mueve, hay salidas, y objetos solidos que el jugador no puede atravezar.   ;-)



Ejemplo:
Call:mapGame solid=y2x1-y2x2-y2x3-y2x4-y2x5 pj=y3x2 map=5x10 exitmap=y3x1-y3x2

Solid=Coordenadas de objetos solidos. ( separados por - )
PJ= Coordenada de inicio del jugador.
Map=Tamaño del mapa ( 5x10, 5 renglones, 10x por renglon )
exitmap=Coordenadas de salida del mapa. ( separados por - )

Código:
:mapGame
CLS
SetLocal EnableDelayEdexpansion
set prm_1=%1&set prm_2=%2
set prm_3=%3&set prm_all=%*
set prm_5=%5&set prm_6=%6
set prm_7=%7&set prm_8=%8
set sld=%2
set sld=%sld:-=,%
set ext=%8
set ext=%ext:-=,%
For /F "Tokens=1 delims=x" %%z in ("%6") Do (set LmtY=%%z)
For /F "Tokens=2 delims=x" %%z in ("%6") Do (set LmtX=%%z)
For /L %%Y in (1,1,%LmtY%) do (Set Lin_%%Y=)
For /L %%Y in (1,1,%LmtY%) do (
For /L %%X in (1,1,%LmtX%) do (
Set y%%Yx%%X=±
For %%S in (%sld%) Do (
set %%S=Û
)
set %4=
For %%P in (%ext%) do (
If ["%4"]==["%%P"] ( GoTo:EOF ) ELSE (Set %%P=)
)
Set Lin_%%Y=!Lin_%%Y!!y%%Yx%%X!
)
Echo !Lin_%%Y!
)
CHOICE.EXE /c ADSW /n >nul
For /F "Tokens=* delims=y" %%F in ("%4") do (
For /F "Tokens=1 delims=x" %%G in ("%%F") do (
set PosY=%%G
)
For /F "Tokens=2 delims=x" %%G in ("%%F") do (
set PosX=%%G
)
)
If %Errorlevel%==1 ( if not !PosX!==1 (
set /a PosX-=1
set NwPJ=y%PosY%x!PosX!
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
If %Errorlevel%==2 ( if not !PosX!==%LmtX% (
set /a PosX+=1
set NwPJ=y%PosY%x!PosX!
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
If %Errorlevel%==3 ( if not !PosY!==%LmtY% (
set /a PosY+=1
set NwPJ=y!PosY!x%PosX%
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
If %Errorlevel%==4 ( if not !PosY!==1 (
set /a PosY-=1
set NwPJ=y!PosY!x%PosX%
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
Goto:EOF


EJEMPLO:


Código:
set Pje=y3x2
:_
Call:mapGame solid=y3x1-y2x1-y2x2-y2x3-y2x4-y2x5-y2x6-y2x7-y2x8-y2x9-y2x10-y4x1-y4x2-y4x3-y4x4-y4x5-y4x6-y4x7-y4x8-y4x9-y4x10 pj=%Pje% map=5x10 exitmap=y3x10
Call:mapGame solid=y2x1-y2x2-y2x3-y2x4-y2x5-y2x6-y2x7-y2x8-y2x9-y2x10-y4x1-y4x2-y4x3-y4x4-y4x5-y4x6-y4x7-y4x8-y4x9-y4x10-y3x10 pj=y3x2 map=5x10 exitmap=y3x1
set Pje=y3x9
GoTo:_



CHOICE.EXE - Click para Descargar

http://rapidshare.com/files/214215002/CHOICE.EXE.html




« Última modificación: 27 Marzo 2009, 17:54 pm por Pony-Magic » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: MapGame - "Motor" de juegos batch.
« Respuesta #1 en: 26 Marzo 2009, 15:35 pm »

Se ve bueno e interesante  ;D

Una pregunta, estas usando expansion de variables con !!, pero no veo en ninguna parte del codigo "setlocal +parametro".

Tal ves solo hayas llamado asi las variables "!variable!", bueno, esa es mi inquietud.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: MapGame - "Motor" de juegos batch.
« Respuesta #2 en: 26 Marzo 2009, 17:44 pm »

jajajjaja pt :P
muy bueno
cuando tenga windows haceme acordar de probarlo (?
xD

lindo codigo bldo xD
En línea

Pony-Magic

Desconectado Desconectado

Mensajes: 36



Ver Perfil
Re: MapGame - "Motor" de juegos batch.
« Respuesta #3 en: 26 Marzo 2009, 18:25 pm »

si, si... era setlocal EnableDelayedExpansion.

se me escapo, cuando lo estaba programando lo avia puesto arribla de la etiqueta.  :laugh:

Ahora lo arreglo, grax.
En línea

SmartGenius

Desconectado Desconectado

Mensajes: 181


:P


Ver Perfil WWW
Re: MapGame - "Motor" de juegos batch.
« Respuesta #4 en: 27 Marzo 2009, 04:23 am »

mmm...interesante...veo que lo de las coordenadas es realmente util en esto de los batch games.....ahora que no vengan a decir que no se puede jugar... :¬¬

Saludos.

EDITO:

Que version del CHOICE.EXE usas...porque en mis codes he usado el CHOICE.COM y no tengo el tuyo, he bajado varios pero no me funciona.....
« Última modificación: 27 Marzo 2009, 16:37 pm por :: SmartGenius :: » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines