Simulacion de Multi hilo, variación de frames , IA basico

viernes, 3 de septiembre de 2010
Bueno, acá un ejemplo basico de como poder simular Multy hilos en batch, que funciona con un contador de frames(mejor dicho, pasos del bucle) para variar la velocidad de algunas cosas.
Se usa las teclas ASDW, y el ejemplo basico de inteligencia artificial, te persigue un caracter :P

pd: se necesita Keypressed.exe, acá pueden descargar la fuente mas el comando.
http://www.mediafire.com/?xugl2a0zsx6xmoe




El code::

Código:
@Echo Off
Setlocal Enabledelayedexpansion
set max_X=40&set max_Y=16&set "line="
Mode Con Cols=%max_X% Lines=%max_Y%
set /a "max_X=%max_X% - 1"&set /a "max_y=%max_y% - 2"
call:Set_var_scr
=================================================
Color F0
set PJ.X=7
set PJ.Y=7
set IA.X=14
set IA.Y=14
set step=0
set step_IA=0
set "key=0"
set "!PJ.X!.!PJ.Y!= "
set "!IA.X!.!IA.Y!= "
call:Draw_scr

:BEGIN
ping -n 1 0.0.0.0>nul
if !step_IA!==4 (set step_IA=0&call:IA)
keypressed.exe
set key=%errorlevel%
if not %key%==0 (call:MOV)
set /a step+=1
set /a step_IA+=1
goto:BEGIN


:MOV
set "!pj.x!.!pj.y!= "
if /i %KEY%==97 (set /a PJ.X-=1)
if /i %KEY%==100 (set /a PJ.X+=1)
if /i %KEY%==119 (set /a PJ.Y-=1)
if /i %KEY%==115 (set /a PJ.Y+=1)
set "!pj.x!.!pj.y!= "
call:Draw_scr
set key=0
exit/b



:IA
if !IA.Y! LSS !PJ.Y! (
set "!IA.X!.!IA.Y!= "&set /a IA.Y+=1
set "!IA.X!.!IA.Y!= "&call:Draw_scr
exit/b
)
if !IA.Y! GTR !PJ.Y! (
set "!IA.X!.!IA.Y!= "&set /a IA.Y-=1
set "!IA.X!.!IA.Y!= "&call:Draw_scr
exit/b
)
if !IA.X! LSS !PJ.X! (
set "!IA.X!.!IA.Y!= "&set /a IA.X+=1
set "!IA.X!.!IA.Y!= "&call:Draw_scr
exit/b
)
if !IA.X! GTR !PJ.X! (
set "!IA.X!.!IA.Y!= "&set /a IA.X-=1
set "!IA.X!.!IA.Y!= "&&call:Draw_scr
exit/b
)
exit/b


===============================================
:::::::::::::Function´s Write screen:::::::::::
:Set_var_scr
for /l %%a in (1,1,%max_X%) do (
for /l %%b in (1,1,%max_y%) do (
set "%%a.%%b= "
)
)
exit/b
:Draw_scr
more /c

0 comentarios:

Publicar un comentario