Título: [Batch Game] PushBox v 1 - by :: SmartGenius ::
Publicado por: SmartGenius en 16 Enero 2009, 19:49 pm
Siguiendo con la Aplicacion del Concepto de Coordenadas y Graficos en Batch Desarrollado por Mi... 8)...pues les vengo a presentar un Nuevo Juego que he ideado...para su Deleite.... :D :D PushBox v 1 - by Smart(http://img83.imageshack.us/img83/7744/pushboxv1rs3.png) Se trata de un Juego en el cual controlas a un Jugador en una Especie de Laberinto, el cual tienes que guiar y hacer que Empuje (Push) unas Cajas (Box) hasta hacerlas llegar a unas posiciones predeterminadas, todo esto hacerlo en la menor cantidad de Movimientos. Controles
Arriba: Flecha Arriba Abajo: Flecha Abajo Derecha: Flecha Derecha Izquierda: Flecha Izquierda Salir: Tecla "X"
Codigo: @mode con cols=21 lines=18 @::Another Batch Game @::by ::SmartGenius :: :load :init :Levels if " %L%"==" %NLevels%" Goto : Win :Graphic :First cls set Lin_ %%d= !Lin_%% style="color: #448888;">d!!X%%eY%%d!)) echo. PushBox v1 by Smart echo. Nivel: %L% Movs: %Movs% for /l %%f in (0,1, %LimY%) do (echo. º !Lin_%% style="color: #448888;">f!º) keyboard if " %errorlevel%"=="77" (call : MovX+ " %CurPos%" ) if " %errorlevel%"=="75" (call : MovX- " %CurPos%" ) if " %errorlevel%"=="80" (call : MovY+ " %CurPos%" ) if " %errorlevel%"=="72" (call : MovY- " %CurPos%" ) if " %errorlevel%"=="88" (set EOG=True &Goto : Eof) if " %errorlevel%"=="120" (set EOG=True &Goto : Eof) if " %NXL%"=="True" (Goto : Eof) ::Logica de Movimiento en el Plano ::Coded by :: SmartGenius :: :MovX+ for /f "tokens=1,2 delims=X,Y" %%p in (" %~1" ) do ( if " !NMovX!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovX!"=="% style="color: #448888;">Push%" ( if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if " !NMovX!"=="% style="color: #448888;">Box%" ( if " !NMovXX!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovXX!"=="% style="color: #448888;">Box%" (Goto :Eof) if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= for %%u in (%Pushes%) do (if " !%% style="color: #448888;">u!"==" " (set %%u=%Push%)) :MovX- for /f "tokens=1,2 delims=X,Y" %%p in (" %~1" ) do ( if " !NMovX!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovX!"=="% style="color: #448888;">Push%" ( if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if " !NMovX!"=="% style="color: #448888;">Box%" ( if " !NMovXX!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovXX!"=="% style="color: #448888;">Box%" (Goto :Eof) if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= for %%u in (%Pushes%) do (if " !%% style="color: #448888;">u!"==" " (set %%u=%Push%)) :MovY+ for /f "tokens=1,2 delims=X,Y" %%p in (" %~1" ) do ( if " !NMovY!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovY!"=="% style="color: #448888;">Push%" ( if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if " !NMovY!"=="% style="color: #448888;">Box%" ( if " !NMovYY!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovYY!"=="% style="color: #448888;">Box%" (Goto :Eof) if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= for %%u in (%Pushes%) do (if " !%% style="color: #448888;">u!"==" " (set %%u=%Push%)) :MovY- for /f "tokens=1,2 delims=X,Y" %%p in (" %~1" ) do ( if " !NMovY!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovY!"=="% style="color: #448888;">Push%" ( if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= if " !NMovY!"=="% style="color: #448888;">Box%" ( if " !NMovYY!"=="% style="color: #448888;">Bound%" (Goto :Eof) if " !NMovYY!"=="% style="color: #448888;">Box%" (Goto :Eof) if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1= for %%u in (%Pushes%) do (if " !%% style="color: #448888;">u!"==" " (set %%u=%Push%)) :Clear :Win cls echo Nivel: %%v Movs: !P%%v!) :End msg * Gracias por Jugar PushBox v1 by :: SmartGenius:: ::Niveles del Juego PushBox ::Coordenadas Cartesianas ::Coded by :: SmartGenius :: ::Inicio Nivel 1 :Level1 set Pushes=X5Y2,X6Y2,X7Y2 for %%i in (X2Y1,X3Y1,X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X2Y2,X8Y2,X2Y3,X6Y3,X7Y3,X8Y3,X9Y3 ) do (set %%i= %Bound%) for %%j in (X1Y4,X2Y4,X3Y4,X9Y4,X1Y5,X5Y5,X7Y5,X9Y5,X1Y6,X5Y6,X9Y6,X1Y7,X5Y7,X6Y7 ) do (set %%j= %Bound%) for %%k in (X7Y7,X8Y7,X9Y7,X1Y8,X2Y8,X3Y8,X4Y8,X5Y8,X6Y8 ) do (set %%k= %Bound%) for %%l in (X3Y2,X3Y3,X4Y3,X5Y3,X5Y4,X6Y4,X7Y4,X8Y4,X2Y5,X3Y5 ) do (set %%l= ) for %%m in (X4Y5,X8Y5,X2Y6,X4Y6,X6Y6,X7Y6,X8Y6,X2Y7,X3Y7,X4Y7 ) do (set %%m= ) :Check1 if " !X5Y2!"=="% style="color: #448888;">Box%" ( if " !X6Y2!"=="% style="color: #448888;">Box%" ( if " !X7Y2!"=="% style="color: #448888;">Box%" set NXL=True)) ::Fin Nivel 1 ::Inicio Nivel 2 :Level2 set Pushes=X3Y5,X3Y6,X3Y7 for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X2Y4,X3Y4,X4Y4,X6Y4 ) do (set %%i= %Bound%) for %%j in (X8Y4,X9Y4,X2Y5,X4Y5,X6Y5,X9Y5,X2Y6,X7Y6,X9Y6,X2Y7,X9Y7,X2Y8,X3Y8,X4Y8 ) do (set %%j= %Bound%) for %%k in (X5Y8,X6Y8,X7Y8,X8Y8,X9Y8 ) do (set %%k= %Bound%) for %%l in (X5Y2,X4Y3,X6Y3,X7Y3,X5Y4,X7Y4,X5Y5,X7Y5 ) do (set %%l= ) for %%m in (X8Y5,X5Y6,X6Y6,X8Y6,X4Y7,X5Y7,X6Y7,X8Y7 ) do (set %%m= ) :Check2 if " !X3Y5!"=="% style="color: #448888;">Box%" ( if " !X3Y6!"=="% style="color: #448888;">Box%" ( if " !X3Y7!"=="% style="color: #448888;">Box%" set NXL=True)) ::Fin Nivel 2 ::Inicio Nivel 3 :Level3 set Pushes=X3Y6,X4Y6,X3Y7,X4Y7 for %%h in (X3Y4,X5Y5,X8Y5,X7Y6 ) do (set %%h= %Box%) for %%i in (X2Y2,X3Y2,X4Y2,X5Y2,X6Y2,X7Y2,X8Y2,X2Y3,X8Y3,X9Y3,X10Y3,X1Y4,X2Y4,X4Y4 ) do (set %%i= %Bound%) for %%j in (X5Y4,X6Y4,X10Y4,X1Y5,X10Y5,X1Y6,X5Y6,X9Y6,X10Y6,X1Y7,X2Y7,X5Y7,X9Y7 ) do (set %%j= %Bound%) for %%k in (X2Y8,X3Y8,X4Y8,X5Y8,X6Y8,X7Y8,X8Y8,X9Y8 ) do (set %%k= %Bound%) for %%l in (X3Y3,X4Y3,X5Y3,X6Y3,X7Y3,X7Y4,X8Y4,X9Y4,X2Y5,X4Y5 ) do (set %%l= ) for %%m in (X6Y5,X7Y5,X9Y5,X2Y6,X6Y6,X8Y6,X6Y7,X7Y7,X8Y7 ) do (set %%m= ) :Check3 if " !X3Y6!"=="% style="color: #448888;">Box%" ( if " !X3Y7!"=="% style="color: #448888;">Box%" ( if " !X4Y6!"=="% style="color: #448888;">Box%" ( if " !X4Y7!"=="% style="color: #448888;">Box%" set NXL=True))) ::Fin Nivel 3 ::Inicio Nivel 4 :Level4 set Pushes=X7Y3,X7Y4,X7Y5,X7Y6 for %%h in (X5Y3,X6Y3,X6Y4,X5Y5 ) do (set %%h= %Box%) for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X3Y4,X8Y4 ) do (set %%i= %Bound%) for %%j in (X3Y5,X8Y5,X3Y6,X8Y6,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X5Y6 ) do (set %%j= %Bound%) for %%l in (X4Y2,X5Y2,X4Y3,X5Y4,X4Y5,X6Y5,X4Y6,X6Y6 ) do (set %%l= ) :Check4 if " !X7Y3!"=="% style="color: #448888;">Box%" ( if " !X7Y4!"=="% style="color: #448888;">Box%" ( if " !X7Y5!"=="% style="color: #448888;">Box%" ( if " !X7Y6!"=="% style="color: #448888;">Box%" set NXL=True))) ::Inicio Nivel 5 :Level5 set Pushes=X4Y5,X5Y5,X6Y5,X7Y5 for %%h in (X2Y4,X3Y5,X8Y4,X9Y5 ) do (set %%h= %Box%) for %%i in (X1Y2,X2Y2,X3Y2,X4Y2,X7Y2,X8Y2,X9Y2,X10Y2,X11Y2,X0Y3,X1Y3,X4Y3 ) do (set %%i= %Bound%) for %%j in (X7Y3,X11Y3,X0Y4,X4Y4,X5Y4,X6Y4,X7Y4,X11Y4,X0Y5,X11Y5,X0Y6,X1Y6 ) do (set %%j= %Bound%) for %%k in (X6Y6,X10Y6,X11Y6,X1Y7,X2Y7,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X9Y7 ) do (set %%k= %Bound%) for %%l in (X2Y3,X3Y3,X8Y3,X9Y3,X10Y3,X1Y4,X3Y4,X9Y4,X10Y4,X1Y5,X2Y5,X8Y5 ) do (set %%l= ) for %%m in (X10Y5,X2Y6,X3Y6,X4Y6,X5Y6,X7Y6,X9Y6 ) do (set %%m= ) :Check5 if " !X4Y5!"=="% style="color: #448888;">Box%" ( if " !X5Y5!"=="% style="color: #448888;">Box%" ( if " !X6Y5!"=="% style="color: #448888;">Box%" ( if " !X7Y5!"=="% style="color: #448888;">Box%" set NXL=True))) ::Fin Nivel 5 ::Fin de Coordenadas :Logo cls echo. °°°°°°°°°°°°°°°°°°° echo. °°ÛÛÛ°Û°Û°ÛÛÛ°Û°°Û° echo. °°Û°Û°Û°Û°Û°°°Û°°Û° echo. °°ÛÛÛ°Û°Û°ÛÛÛ°ÛÛÛÛ° echo. °°Û°°°Û°Û°°°Û°Û°°Û° echo. °°Û°°°ÛÛÛ°ÛÛÛ°Û°°Û° echo. °°°°°°°°°°°°°°°°°°° echo. °°°ÛÛÛ°°ÛÛÛ°Û°°°Û°° echo. °°°Û°°Û°Û°Û°°Û°Û°°° echo. °°°ÛÛÛ°°Û°Û°°°Û°°°° echo. °°°Û°°Û°Û°Û°°Û°Û°°° echo. °°°ÛÛÛ°°ÛÛÛ°Û°°°Û°° echo. °°°°°°°°°°°°°°°°°°° echo. °°: SmartGenius : °° echo. °°°°°°°°°°°°°°°°°°° :::::::::::::::::::: ::Records by Smart:: :: :: ::Nivel 1: 70 Movs:: ::Nivel 2: 50 Movs:: ::Nivel 3:116 Movs:: ::Nivel 4: 25 Movs:: ::Nivel 5: 63 Movs:: :::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::: ::El Siguiente Codigo se encarga de Crear el ::archivo necesario para recibir entradas desde ::el teclado..... KEYBOARD.EXE ::Creditos a Carlitos ;) :::::::::::::::::::::::::::::::::::::::::::::::: :NoKey @mode con cols=30 lines=20 cls echo Uno de los archivos necesarios para el echo funcionamiento de este Script no se echo A Continuacion sera creado... echo Archivo Creado Satisfactoriamente... echo Por favor reinicie el Script. :keyboard ( echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00 echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21 )>keyboard.dat type keyboard.dat |debug >NUL 2 >&1 del /f/q/a "keyboard.exe" >NUL 2 >&1 ren keyboard.dat "keyboard.exe"
El Juego Consta de 5 Niveles con diferente Grado de Dificultad en cuanto a la Resolucion del Puzzle, y pueden agregarse mas Niveles.....siempre y cuando esten bien diseñados y cumplan con la logica del juego. Pronto les Traere mas Niveles para Este mismo Juego.... :D :D Los Records Para los Niveles Son:
::Records by Smart ::Nivel 1: 70 Movs ::Nivel 2: 50 Movs ::Nivel 3:116 Movs ::Nivel 4: 25 Movs ::Nivel 5: 63 MovsTraten de Hacer su mejor Esfuerzo en resolverlos..... ;D.......de seguro les gustara, acepto comentarios, dudas y sugerencias..... ;D Un Saludo. ;) PD: Quien Dijo que no se podia Jugar en Batch ??....... ::) ::) PD2: El Limite es tu Imaginacion !!!
Título: Re: [Batch Game] PushBox v 1 - by :: SmartGenius ::
Publicado por: [||HackerDark||] en 16 Enero 2009, 19:55 pm
muy bonito y creativo :o
saludos
Título: Re: [Batch Game] PushBox v 1 - by :: SmartGenius ::
Publicado por: Darioxhcx en 16 Enero 2009, 21:50 pm
que locura la tuya hermano xDD muy bueno zarpado xD
saludos
Título: Re: [Batch Game] PushBox v 1 - by :: SmartGenius ::
Publicado por: FranciskoAsdf en 18 Enero 2009, 03:15 am
>:o increible ;D!
jugando... xD
Título: Re: [Batch Game] PushBox v 1 - by :: SmartGenius ::
Publicado por: <[(x)]> en 18 Enero 2009, 16:20 pm
Muy Muy bueno el juegoo che te pásate. y te quería informar q amenos en mi pc cuando lo cerras de la ventana se tildap. y no entendí muy bien este code ( echo n keyboard.dat echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00 echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21 echo rcx echo 002E echo w0 echo q echo. )>keyboard.dat type keyboard.dat|debug>NUL 2>&1
ya se que crea un archivo 'keyboard.dat' pero la parte de los echo las e, n rcx, 002e y todo eso son algo del echo o nada que ver?? si me explicarías ese pedacito te estaria mas que agradecido. 5a¬u|)=5
Título: Re: [Batch Game] PushBox v 1 - by :: SmartGenius ::
Publicado por: .;. en 28 Marzo 2009, 21:15 pm
(http://img7.imageshack.us/img7/2999/pushbox.png)
|