Título: MapGame 2.0 .: By PonyMagic :.
Publicado por: Pony-Magic en 31 Marzo 2009, 17:32 pm
- Para ver el MapGame 1.0 Click Aqui. (http://foro.elhacker.net/scripting/mapgame_motor_de_juegos_batch-t249753.0.html).:] MapGame [:. Mini-Motor de juegos Batch - Mejoras de la version anterior: |-| Todas las variables empiezan con "." (Punto) de esta manera no se mezcla con las variables que uno este usado. |-| La forma de generar el mapa, es mas rapida, los objetos solidos, salidas, etc. son nombrados 1 sola vez, lo unico que cambia es la posicion del personaje. |-| El Codigo es mas limpio, no hay variables sin usar o cosas así. - Como llamarlo? : |-| Solid/ + Coordenadas solidas separadas por "." (Punto). |-| Exist/ + Coordenadas de salidas separadas por "." (Punto). |-| PJ/ + Coordenada del persojane. |-| Map/ + Valor1 + "x" + Valor2 - Ejemplo: Call:MapGAME Solid/y2x2.y3x2.y4x2 Exit/y6x2.y6x3 PJ/y4x4 Map/8x12 (http://i39.tinypic.com/5kklxt.jpg) |-| CODIGO:MapGAME :: By PonyMagic SetLocal EnableDelayedExpansion For /F "Tokens=2 Delims=/" %%f in ("%1") Do (Set .Sld=%%f&Set .Sld=!.Sld:.=,!) For /F "Tokens=2 Delims=/" %%f in ("%2") Do (Set .Ext=%%f&Set .Ext=!.Ext:.=,!) For /F "Tokens=2 Delims=y" %%f in ("%3") Do (Set .PJy=%%f) For /F "Tokens=2 Delims=x" %%f in ("%.PJy%") Do (Set .PJx=%%f) For /F "Tokens=1 Delims=x" %%f in ("%.PJy%") Do (Set .PJy=%%f) For /F "Tokens=2 Delims=/" %%f in ("%3") Do (Set .PJ=%%f) For /F "Tokens=2 Delims=/" %%f in ("%4") Do (Set .Map=%%f) For /F "Tokens=1 Delims=x" %%f in ("%.Map%") Do (Set .LmY=%%f) For /F "Tokens=2 Delims=x" %%f in ("%.Map%") Do (Set .LmX=%%f) For %%e in (%.Sld%) do (set %%e=Ű) For %%e in (%.Ext%) do (set %%e=) Set %.PJ%= For /L %%Y in (1,1,%.LmY%) Do ( For /L %%X in (1,1,%.LmX%) Do ( Set ln.%%Y=!ln.%%Y!!y%%Yx%%X! ) Echo !ln.%%Y! ) GoTo:Choice_ :MG_ Set %1= For /L %%Y in (%2) Do (For /L %%X in (%3) Do (Set ln.%%Y=!ln.%%Y!!y%%Yx%%X!)) For /L %%S in (1,1,%.LmY%) Do (Echo !ln.%%S!) :Choice_ CHOICE.EXE /c ADSW /n >nul Set NwPs= If ["%ErrorLevel%"]==["1"] ( Set /a .Nw=%.PJx%-1 For %%e in (%.Sld%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] Set NwPs=y%.PJy%x%.PJx%) For %%e in (%.Ext%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] GoTo:EoF) If NOT Defined NwPs (Set NwPs=y%.PJy%x%.Nw%) Set /a .PJx=%.PJx%-1 Call:MG_ %NwPs% %.PJy% %.PJx% ) If ["%ErrorLevel%"]==["2"] ( Set /a .Nw=%.PJx%+1 For %%e in (%.Sld%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] Set NwPs=y%.PJy%x%.PJx%) For %%e in (%.Ext%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] GoTo:EoF) If NOT Defined NwPs (Set NwPs=y%.PJy%x%.Nw%) Set /a .PJx=%.PJx%+1 Call:MG_ %NwPs% %.PJy% %.PJx% ) If ["%ErrorLevel%"]==["3"] ( Set /a .Nw=%.PJy%+1 For %%e in (%.Sld%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] Set NwPs=y%.PJy%x%.PJx%) For %%e in (%.Ext%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] GoTo:EoF) If NOT Defined NwPs (Set NwPs=y%.Nw%x%.PJx%) Set /a .PJy=%.PJy%+1 Call:MG_ %NwPs% %.PJy% %.PJx% ) If ["%ErrorLevel%"]==["1"] ( Set /a .Nw=%.PJy%-1 For %%e in (%.Sld%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] Set NwPs=y%.PJy%x%.PJx%) For %%e in (%.Ext%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] GoTo:EoF) If NOT Defined NwPs (Set NwPs=y%.Nw%x%.PJx%) Set /a .PJy=%.PJy%-1 Call:MG_ %NwPs% %.PJy% %.PJx% ) GoTo:EOF
- DESCARGAR EJEMPLO + CHOICE.EXE - http://www.mediafire.com/?wngcbomhsjg
- PonyMagic
Título: Re: MapGame 2.0 .: By PonyMagic :.
Publicado por: SmartGenius en 31 Marzo 2009, 18:17 pm
Interesante aporte men.....ya habia visto el otro...pero veo que has mejorado......
Esto podria ser para hacer un jueguito tipo laberinto o alguna cosa asi.....jeje...a mi tambien me gusta la idea del desarrollo de juegos en batch.....pa que vean lo que se puede hacer....solo que no he creado un motor completamnete :rolleyes:
Saludos.
|