|
21
|
Programación / Scripting / [Batch Game] The Labyrinth - usando COLOUS
|
en: 1 Agosto 2010, 00:58 am
|
Tal como le habia dicho a Bolivianito que haria, este juego es una demostracion de uso del comando COLOUS creado por el, para la implementacion de un Juego Batch simple, usando el sistema de coordenadas mio @title The Labyrinth - SmartGenius Mode con cols=45 lines=16 :: Batch Game - The Labyrinth :: Coded by SmartGenius :: Using Graphic Command (colous) by Bolivianito :Game_Vars Set /a "LimX=44","LimY=15","IniX=1","IniY=1","MovX=0","MovY=0","Points=0" :Game_Init For /l %%a in (%IniX%,1, %LimX%) do ( For /l %%b in (%IniY%,1, %LimY%) do ( Call : Color " %Player%" "12 0" :Display For /l %%d in (%IniX%,1, %LimY%) do ( For /l %%e in (%IniX%,1, %LimX%) do Set Lin_ %%d= !Lin_%% style="color: #448888;">d!!X%%eY%%d!) For /l %%f in (%IniY%,1, %LimY%) do (Colous Writesec " !Lin_%% style="color: #448888;">f!") :Game_Move Colous Readkey If " %ErrorLevel%"=="100" (call : Mov "X" "+" ) If " %ErrorLevel%"=="97" (call : Mov "X" "-" ) If " %ErrorLevel%"=="115" (call : Mov "Y" "+" ) If " %ErrorLevel%"=="119" (call : Mov "Y" "-" ) If " %ErrorLevel%"=="88" (Goto : Win) If " %ErrorLevel%"=="120" (Goto : Win) :Mov For /f "tokens=1,2 delims=X,Y" %%p in (" %CurPos%" ) do (Set "MovX= %%p" &Set "MovY= %%q" ) if " !Mov% style="color: #448888;">~1!"=="!Lim% style="color: #448888;">~1!" Goto :Eof Set "NMovY= !X%MovX%Y %MovY%!" If " !NMovY!"=="% style="color: #448888;">Bound%" (Goto :Eof) If " !NMovY!"=="% style="color: #448888;">Exit%" (Goto :Win) If " !NMovY!"=="% style="color: #448888;">Point%" (Set /a Points+=5) Set "X %MovX%Y %MovY%= %Player%" Set "CurPos=X %MovX%Y %MovY%" Call : Color " %Player%" "12 0" :Color For /f "tokens=1,2 delims=X,Y" %%p in (" %CurPos%" ) do (Set "ColX= %%p" &Set "ColY= %%q" ) Colous %~2 %ColX%,%ColY% %~1 Colous Cursoroff :Win Cls If %Points% GEQ 200 (Echo. Excelent %Nick%, You Get 3 Extra Lives &Set /a Lives+=3 ) If %Points% GEQ 150 (If %Points% LEQ 195 (Echo. Well Done %Nick%, You Get 2 Extra Lives &Set /a Lives+=2 )) If %Points% GEQ 100 (If %Points% LEQ 145 (Echo. You Did it %Nick%, You Get 1 Extra Live &Set /a Lives+=1 )) If %Points% LSS 100 (Echo. Level Completed %Nick%, No Lives Won ) Echo. You Get %Points% Points :Game_Level For %%a in (X7Y10,X8Y6,X9Y2,X9Y6,X9Y14,X10Y14,X13Y8,X18Y6,X18Y10,X18Y12,X20Y12,X23Y9,X27Y7,X29Y2,X38Y10,X41Y6,X43Y14 ) do ( X1Y1,X1Y2,X1Y3,X1Y4,X1Y5,X1Y6,X1Y7,X1Y8,X1Y9,X1Y10,X1Y11,X1Y12,X1Y13,X2Y1,X2Y3,X2Y8, X2Y10,X2Y13,X3Y1,X3Y3,X3Y5,X3Y8,X3Y13,X4Y1,X4Y3,X4Y5,X4Y7,X4Y8,X4Y10,X4Y11,X4Y13, X5Y1,X5Y3,X5Y5,X5Y11,X5Y13,X5Y14,X5Y15,X6Y1,X6Y5,X6Y9,X6Y11,X6Y15,X7Y1,X7Y3,X7Y5, X7Y6,X7Y7,X7Y11,X7Y15,X8Y1,X8Y3,X8Y7,X8Y9,X8Y10,X8Y11,X8Y12,X8Y13,X8Y15,X9Y1,X9Y3, X9Y7,X9Y13,X9Y15,X10Y1,X10Y2,X10Y3,X10Y4,X10Y5,X10Y6,X10Y7,X10Y8,X10Y9,X10Y10,X10Y11, X10Y13,X10Y15,X11Y1,X11Y2,X11Y9,X11Y13,X11Y14,X11Y15,X12Y2,X12Y4,X12Y5,X12Y7,X12Y9, X12Y13,X13Y2,X13Y4,X13Y5,X13Y7,X13Y9,X13Y11,X13Y13,X14Y2,X14Y5,X14Y7,X14Y8,X14Y9, X14Y11,X14Y13,X14Y14,X14Y15,X15Y2,X15Y3,X15Y4,X15Y5,X15Y9,X15Y11,X15Y15,X16Y3,X16Y11, X16Y13,X16Y15,X17Y3,X17Y5,X17Y6,X17Y7,X17Y8,X17Y11,X17Y12,X17Y13,X17Y15,X18Y3,X18Y5, X18Y7,X18Y11,X18Y15,X19Y1,X19Y2,X19Y3,X19Y5,X19Y7,X19Y8,X19Y9,X19Y10,X19Y11,X19Y12, X19Y13,X19Y14,X19Y15,X20Y1,X20Y5,X20Y8,X20Y13,X20Y15,X21Y1,X21Y5,X21Y8,X21Y11,X21Y12, X21Y13,X21Y15,X22Y1,X22Y3,X22Y4,X22Y5,X22Y6,X22Y8,X22Y9,X22Y13,X22Y15,X23Y1,X23Y8, X23Y11,X23Y13,X23Y15,X24Y1,X24Y2,X24Y3,X24Y5,X24Y6,X24Y7,X24Y8,X24Y11,X24Y13,X24Y15, X25Y1,X25Y2,X25Y5,X25Y11,X25Y13,X25Y15,X26Y1,X26Y4,X26Y5,X26Y6,X26Y7,X26Y8,X26Y9, X26Y10,X26Y11,X26Y13,X26Y15,X27Y1,X27Y6,X27Y9,X27Y13,X27Y15,X28Y1,X28Y2,X28Y3,X28Y4, X28Y6,X28Y7,X28Y9,X28Y11,X28Y12,X28Y13,X28Y15,X29Y1,X29Y4,X29Y6,X29Y9,X29Y13,X29Y15, X30Y1,X30Y2,X30Y4,X30Y6,X30Y8,X30Y9,X30Y11,X30Y13,X30Y15,X31Y2,X31Y4,X31Y6,X31Y9, X31Y11,X31Y15,X32Y2,X32Y4,X32Y6,X32Y7,X32Y9,X32Y11,X32Y12,X32Y13,X32Y14,X32Y15,X33Y2, X33Y4,X33Y9,X33Y13,X34Y2,X34Y4,X34Y6,X34Y7,X34Y8,X34Y9,X34Y11,X34Y13,X35Y2,X35Y4, X35Y11,X35Y13,X35Y14,X35Y15,X36Y1,X36Y2,X36Y4,X36Y6,X36Y7,X36Y8,X36Y9,X36Y11,X36Y15, X37Y1,X37Y4,X37Y9,X37Y10,X37Y11,X37Y13,X37Y15,X38Y1,X38Y3,X38Y4,X38Y6,X38Y7,X38Y9, X38Y11,X38Y13,X38Y15,X39Y1,X39Y3,X39Y7,X39Y9,X39Y11,X39Y12,X39Y13,X39Y15,X40Y1,X40Y3, X40Y5,X40Y7,X40Y9,X40Y13,X40Y15,X41Y1,X41Y3,X41Y4,X41Y5,X41Y7,X41Y9,X41Y11,X41Y15, X42Y1,X42Y5,X42Y6,X42Y7,X42Y9,X42Y10,X42Y11,X42Y12,X42Y14,X42Y15,X43Y1,X43Y2,X43Y3, X43Y9,X43Y12,X43Y15,X44Y3,X44Y4,X44Y5,X44Y6,X44Y7,X44Y8,X44Y9,X44Y12,X44Y13,X44Y14,X44Y15 For %%a in (X2Y2,X2Y7,X2Y9,X16Y12,X18Y8,X20Y2,X20Y9,X25Y6,X26Y2,X36Y10,X40Y4,X41Y10 ) do (Set S_ %%a= %Point%)
Lo pueden jugar usando las clasicas teclas de WASD, el objetivo es llegar a la salida y lograr la mayor cantidad de puntos.El Juego es un Easter Egg del WarGame Batch para poder obtener mas vidas, solo hice la adaptacion para poder usar el comando COLOUS de bolivianito. Cualquier duda o comentario favor de hacerlos ! Saludos.
|
|
|
22
|
Programación / Scripting / Re: No puedo jugar a los juegos de smartgenius en batch??? [Solucionado]
|
en: 23 Junio 2010, 06:42 am
|
La verdad que cuando realice todos los Batch Games no contemple la posibilidad de ejecucion en sistema x64, pues suponia que trabajarian igual, debido a que no tenia un sistema de esa arquitectura para programar, pero ya gracias a nuestro compañero se pudieron solucionar esos obstaculos y otros cuantos de incompatibilidades de varios codes entre diferentes arquitecturas.
Saludos.
|
|
|
24
|
Programación / Scripting / Re: Batch Paint v 1.3 - by SCOT Team
|
en: 10 Noviembre 2009, 16:50 pm
|
Sip, la verdad poco codigo pero usando VBS y otras cositas mas, ahora ya lo hemos actualizado y mejorado @Echo Off @Mode Con cols=80 lines=25 Setlocal Enabledelayedexpansion
::{ A Program by S.C.O.T 2009 }:: ::{ Script Coders Oriented Team }:: ::{ SmartGenius & 3D1 }:: ::{ Thanks to: }:: ::{ Nax }:: ::{ Shadow }:: ::{ }::
Call:PropetiesDefault :Main Cls Echo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Echo. ³ Batch Paint v 1.3 - SCOT Team 2009 ³Nuevo ³Abrir ³Guardar³ ³X³ Echo. ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÁÄ´ Echo. ³Colores³ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ Echo. ³ÚÄÄÄ¿³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÀÄÁÄÁÄÙ³ º º ³ Echo. ÃÄÄÄÄÄÄÄ´ º º ³ Echo. ³Pincel ³ º º ³ Echo. ³ ³ º º ³ Echo. ³° ± ² Û³ º º ³ Echo. ÃÄÄÄÄÄÄÄ´ º º ³ Echo. ³Borra #³ º º ³ Echo. ³ ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ Echo. ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ (Echo.EB800:326 "Û" 11 Echo.EB800:32A "Û" 22 Echo.EB800:32E "Û" 33 Echo.EB800:466 "Û" 44 Echo.EB800:46A "Û" 55 Echo.EB800:46E "Û" 66 Echo.EB800:5A6 "Û" 77 Echo.EB800:5AA "Û" 88 Echo.EB800:5AE "Û" 99 Echo.EB800:6E6 "Û" AA Echo.EB800:6EA "Û" BB Echo.EB800:6EE "Û" CC Echo.EB800:826 "Û" DD Echo.EB800:82A "Û" EE Echo.EB800:82E "Û" FF Echo.Q)|Debug >nul :Draw Call:Mouse title BatchPaint 1.2 - !Hexa! X:!X! Y:!Y! If !Hexa! EQU 326 ( Set Color=11 ) If !Hexa! EQU 32A ( Call:Color 02 ) If !Hexa! EQU 32E ( Call:Color 03 ) If !Hexa! EQU 466 ( Call:Color 04 ) If !Hexa! EQU 46A ( Call:Color 05 ) If !Hexa! EQU 46E ( Call:Color 06 ) If !Hexa! EQU 5A6 ( Call:Color 07 ) If !Hexa! EQU 5AA ( Call:Color 08 ) If !Hexa! EQU 5AE ( Call:Color 09 ) If !Hexa! EQU 6E6 ( Call:Color 0A ) If !Hexa! EQU 6EA ( Call:Color 0B ) If !Hexa! EQU 6EE ( Call:Color 0C ) If !Hexa! EQU 826 ( Call:Color 0D ) If !Hexa! EQU 82A ( Call:Color 0E ) If !Hexa! EQU 82E ( Call:Color 0F ) If !Hexa! EQU 136 ( Del /Q /A Mouse.dat >nul 2>&1 Del /Q /A TmpData.txt >nul 2>&1 Exit ) If !Hexa! EQU B44 ( Set Pincel=°) If !Hexa! EQU B48 ( Set Pincel=±) If !Hexa! EQU B4C ( Set Pincel=²) If !Hexa! EQU B50 ( Set Pincel=Û) If !Hexa! EQU C90 ( Set Pincel=Û&Set Color=00) If !X! GEQ 62 ( If !Y! GEQ 1 ( If !X! LEQ 68 ( If !Y! LEQ 2 ( Set X=0 Set Y=0 Set Hexa=0 Goto:SaveToFile )))) If !X! GEQ 55 ( If !Y! GEQ 1 ( If !X! LEQ 60 ( If !Y! LEQ 2 ( Set X=0 Set Y=0 Set Hexa=0 Call:OpenFile )))) If !X! GEQ 48 ( If !Y! GEQ 1 ( If !X! LEQ 53 ( If !Y! LEQ 2 ( Start Cmd /c %0 Exit /b 0 )))) If !X! GEQ 12 ( If !Y! GEQ 4 ( If !X! LEQ 73 ( If !Y! LEQ 20 ( (Echo.EB800:%hexa% "%Pincel%" %Color%&Echo.Q)|Debug >nul Echo.EB800:%hexa% "%Pincel%" %Color%>>TmpData.txt )))) Goto:Draw
:PropetiesDefault Set Pincel=Û Set Color=0F Del /Q /A TmpData.Txt>nul 2>&1 Echo.>TmpData.txt title BatchPaint 1.2 Goto:Eof
:Color Set Color=%1 Goto:Eof
:Mouse Echo e100 B8 1 0'3'DB CD'3'B0 3'C'CD'3'B DB't'FA 91 D3 EA D3 E8 91 C3>mouse.dat For %%! in (.g116 .q) do (Echo%%!>> mouse.dat) For /f "tokens=6-8 delims== " %%a in ('Debug ^< mouse.dat ^| Find /I "X"') do ( Set /a "X=0x%%a" Set /a "Y=0x%%c" Set /a "G=!Y! * 160 + (!X! + 1 - 1) * 2 call:d2h !G! ) Goto :Eof
:d2h :: Decimal2Hexadecimal :: Author: lShadowl set hstr=0123456789ABCDEF&& set int=%1&& set last= :loop set/a ths=%int%%%16 call set last=%%hstr:~%ths%,1%%%last% if /i %int% geq 16 (set /A int=%int%/16 ) else (Set Hexa=%last%&& goto:eof) goto:loop
:OpenFile Set /p O_File=" Archivo a Abrir:\>" Find "Batch Paint" %O_File% >nul 2>&1 If Not "%Errorlevel%"=="0" ( msg * El Archivo Seleccionado no es un Dibujo de Batch Paint ) else ( Echo.|Call %O_File% For /f "tokens=2 Skip=2 delims=." %%f in ('Find "EB800" %O_File%') do ( Echo.%%f>>TmpData.txt )) Goto :Eof
:SaveToFile Title Guardando Espere... Set /p File=" Guardar Como:\>" Echo.>Save.txt For /f "Tokens=*" %%S in ('Type TmpData.txt') do ( Echo.%%S>SaveText.txt Copy /B SaveText.txt + Save.txt SaveF.txt >nul 2>&1 Del /Q /A Save.txt>nul 2>&1 Ren SaveF.txt Save.txt >nul 2>&1 Title Guardando Espere... [Ordenando Archivo %%S] ) Del /Q /A SaveText.txt>nul 2>&1 ( Echo.@Echo Off Echo.::Created With Batch Paint Echo.::SCOT Team 2009 Echo.( )>SaveFinal.txt For /f "Tokens=1,*" %%A in ('Type Save.txt') do ( Find /i "Echo.%%A" SaveFinal.txt >nul||Echo.Echo.%%A %%B>>SaveFinal.txt Title Guardando Espere... [Guardando Cambios %%A] ) Echo.Echo.Q >>SaveFinal.txt (Echo.^)^|Debug ^>nul 2^>^&1 &Echo.Pause^>nul&Echo.Goto :Eof)>>SaveFinal.txt Del /Q /A Save.txt >nul 2>&1 Title Guardando Espere... [Renombrar Archivo] If ["%File%"] NEQ [""] ( Ren "SaveFinal.txt" "!File!.bat" >nul 2>&1 ) ELSE ( Ren "SaveFinal.txt" "DRAW_Image%Random%.bat" >nul 2>&1 ) Title Ok!! - Se ha Terminado de Guardar el Archivo... Ping -n 2 LocalHost>nul 2>&1 Start Cmd /c %0 Exit /b 0 Espero que le sguste, me comentan cualquier novedad !!
|
|
|
25
|
Programación / Scripting / Batch Paint v 1.3 - by SCOT Team
|
en: 8 Octubre 2009, 18:15 pm
|
Quien dijo que no se podia pintar en Batch ???.... =D @Echo Off @title Batch Paint @Mode Con cols=80 lines=25 Setlocal Enabledelayedexpansion
::A Program by S.C.O.T 2009 ::Script Coders Oriented Team ::SmartGenius & 3D1
:Init Cls If Not Exist Col.vbs (Call :Col_Deb >>Col.vbs) Set "X=0" Set "Y=0" Set "Color=11" Set "Pincel=Û" Call :Load
:Table If "!X!-!Y!"=="43-2" (Exit) For /l %%s in (33,1,39) do (If "!X!-!Y!"=="%%s-2" (Goto :Save)) If "!X!-!Y!"=="22-2" (Set "Pincel=°") If "!X!-!Y!"=="24-2" (Set "Pincel=±") If "!X!-!Y!"=="26-2" (Set "Pincel=²") If "!X!-!Y!"=="28-2" (Set "Pincel=Û") If "!X!-!Y!"=="3-4" (Set "Color=01") If "!X!-!Y!"=="5-4" (Set "Color=02") If "!X!-!Y!"=="7-4" (Set "Color=03") If "!X!-!Y!"=="3-6" (Set "Color=04") If "!X!-!Y!"=="5-6" (Set "Color=05") If "!X!-!Y!"=="7-6" (Set "Color=06") If "!X!-!Y!"=="3-8" (Set "Color=07") If "!X!-!Y!"=="5-8" (Set "Color=08") If "!X!-!Y!"=="7-8" (Set "Color=09") If "!X!-!Y!"=="3-10" (Set "Color=0A") If "!X!-!Y!"=="5-10" (Set "Color=0B") If "!X!-!Y!"=="7-10" (Set "Color=0C") If "!X!-!Y!"=="3-12" (Set "Color=0D") If "!X!-!Y!"=="5-12" (Set "Color=0E") If "!X!-!Y!"=="7-12" (Set "Color=0F") If !X! GEQ 12 ( If !Y! GEQ 5 ( If !X! LEQ 41 ( If !Y! LEQ 15 ( cscript //nologo col.vbs "!X!" "!Y!" "%Color%" "%Pincel%" Set /a "vX=!X!-12" Set /a "vY=!Y!-5" Set "X!vX!Y!vY!=!vX! !vY! %Color% %Pincel%" )))) Call :Mouse Goto :Table
:Load Echo. Echo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Echo. ³Colores³ Pinceles ° ± ² Û ³Guardar³ ³X³ Echo. ³ÚÄÄÄ¿ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÁÄ´ Echo. ³³Û³Û³Û³³ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÃÄÅÄÅÄ´³ º º ³ Echo. ³³Û³Û³Û³³ º º ³ Echo. ³ÀÄÁÄÁÄÙ³ º º ³ Echo. ÃÄÄÄÄÄÄÄ´ º º ³ Echo. ³ SCOT ³ º º ³ Echo. ³ Team ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³ Echo. ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ cscript //nologo col.vbs "3" "4" "11" " " cscript //nologo col.vbs "5" "4" "22" " " cscript //nologo col.vbs "7" "4" "33" " " cscript //nologo col.vbs "3" "6" "44" " " cscript //nologo col.vbs "5" "6" "55" " " cscript //nologo col.vbs "7" "6" "66" " " cscript //nologo col.vbs "3" "8" "77" " " cscript //nologo col.vbs "5" "8" "88" " " cscript //nologo col.vbs "7" "8" "99" " " cscript //nologo col.vbs "3" "10" "AA" " " cscript //nologo col.vbs "5" "10" "BB" " " cscript //nologo col.vbs "7" "10" "CC" " " cscript //nologo col.vbs "3" "12" "DD" " " cscript //nologo col.vbs "5" "12" "EE" " " cscript //nologo col.vbs "7" "12" "FF" " " Goto :Eof
:Mouse Echo e100 B8 1 0'3'DB CD'3'B0 3'C'CD'3'B DB't'FA 91 D3 EA D3 E8 91 C3>mouse.dat For %%! in (.g116 .q) do (Echo%%!>> mouse.dat) For /f "tokens=6-8 delims== " %%a in ('Debug ^< mouse.dat ^| Find /I "X"') do ( Set /a "X=0x%%a" Set /a "Y=0x%%c") Goto :Eof
:Save Cls Echo. Set /p "V= Introduzca un Nombre De Archivo >> "<nul Set /p "FileName=" If Not Defined Filename Set "FileName=Paint_%Random%" Call :Template >>%Filename% For /l %%a in (0,1,29) do ( For /l %%b in (0,1,11) do ( If Defined X%%aY%%b (Echo.Cscript //nologo col.vbs !X%%aY%%b! >>%Filename%) )) Echo.Pause^>nul >>%Filename% Echo.>>%Filename% Call :Col_Deb Echo. "^">>%Filename% Echo. Echo. Archivo %Filename% Generado Exitosamente Ren %Filename% %Filename%.bat >nul Echo. Set /p "V= Presione Cualquier tecla para volver...."<nul Pause >nul Goto :Init
:Template Echo. @Echo off Echo. @Title Paint Batch - %Filename% Echo. @Mode Con Cols=80 Lines=25 Echo. @::Hecho Con Batch Paint Echo. @::S.C.O.T Team 2009 Echo.If Not Exist Col.vbs Call :Col ^>^>col.vbs Echo.:Draw Goto :Eof
:Col_Deb %1:Col %1Echo.On Error Resume Next %1Echo.HexColor = Right("0" %~2^& wscript.arguments(2), 2) %1Echo.Set oExec = CreateObject("WScript.Shell").Exec("%comspec% /c debug ") %1Echo. %1Echo.Do Until oExec.StdOut.Read(1) = "-" %1Echo. wsh.sleep 10 %1Echo.Loop %1Echo. %1Echo.Dim Textos %1Echo.Textos = Replace(wscript.arguments(3), Chr(195), "Û") %1Echo.WriteXY wscript.arguments(0), wscript.arguments(1), HexColor, Textos %1Echo. %1Echo.oExec.StdIn.Writeline "e0:451 2A" %1Echo.oExec.StdIn.Writeline "q" %1Echo. %1Echo.Sub WriteXY(X, Y, hColor, sText) %1Echo.Dim ColorText %1Echo. For j = 1 to Len(sText) Step 10 %1Echo. ColorText = "EB800:" %~2^& Hex(Y * 160 + (X + j - 1) * 2) %1Echo. For i = j to j + 9 %1Echo. ColorText = ColorText %~2^& " " %~2^& Hex(Asc(Mid(sText, i, 1))) %~2^& " " %~2^& hColor %1Echo. if i = Len(sText) Then Exit For %1Echo. Next %1Echo. oExec.StdIn.Writeline ColorText %1Echo. Next %1Echo.End Sub %1Attrib +H Col.vbs %1Goto :Eof Goto :Eof
Se Reciben Comentarios Y Sugerencias !
|
|
|
27
|
Programación / Scripting / [Batch Game] F1 Cars - by SmartGenius
|
en: 23 Julio 2009, 19:17 pm
|
Bueno, que mas decirle....un nuevo juego, de los tantos que ya he hecho Esta vez se trata de un clasico del tetris, ya lo conocen, las carreras de carritos. Descargar: http://one.xthost.info/smartv2/BatchGames/F1CarGamev1bySmartGenius.zipMueven su "carrito" con las feclas de direccion izquierda y derecha, automaticamente bajaran los demas carros, esta programado para usar el KEYBOARD para mostrar el juego como una "Prueba de Concepto", pero se adaptaria al uso de CHOICE.COM para que el juego siga automaticamente su curso aun cuando el jugador no presiona ninguna tecla... @Echo off @title Cars @mode con cols=15 lines=13 ::Batch Game F1 Cars ::Coded by SmartGenius
setlocal enabledelayedexpansion
If Not Exist "keyboard.exe" (Call :NoKey)
:Menu Cls Echo. Echo. F1 Car Game Echo. Echo. Presione Echo. Enter Echo. Pause >nul
:Vars Set "LimX=10" Set "LimY=10" Set "LimI=3" Set "LimD=9" Set "Last= " Set "CurPos=X3Y3"
:Init Call :Level For /l %%a in (0,1,%LimX%) do ( For /l %%b in (0,1,%LimY%) do ( Set X%%aY%%b=!Lin_%%a:~%%b,1!)) Set "Car=X3Y3,X2Y2,X4Y2,X3Y2,X3Y1,X2Y0,X4Y0" For %%a in (%Car%) do (Set "%%a=Û")
:Graphic Call :Clear For /l %%d in (0,1,%LimX%) do ( For /l %%e in (0,1,%LimY%) do ( Set LN_%%d=!LN_%%d!!X%%eY%%d!)) Echo. F1 Car Game For /l %%f in (%LimY%,-1,0) do (echo. -!LN_%%f!-) keyboard if "%errorlevel%"=="77" (call :Mov_D) if "%errorlevel%"=="75" (call :Mov_I) if "%errorlevel%"=="27" (Exit) Call :Abajo Call :Colision "%CurPos%" "%Car2%" "%Car3%" Goto :Graphic
:Mov_D If "%BoundD%"=="True" Goto :Eof Set "BoundI=False" Set "P=0" For %%a in (%Car%) do ( Set /a P+=1 Call :MovX+ %%a Car!P! ) Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%" Set "CurPos=%Car1%" Goto :Eof
:Mov_I If "%BoundI%"=="True" Goto :Eof Set "BoundD=False" Set "P=0" For %%a in (%Car%) do ( Set /a P+=1 Call :MovX- %%a Car!P! ) Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%" Set "CurPos=%Car1%" Goto :Eof
:MovX+ for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( if !%~1!==Û set %~1=%Last% set /a MovX=%%p+1 call set Last=%%X!MovX!Y%%q%% If "%Last%"=="²" (Goto :Lost) set X!MovX!Y%%q=Û set %2=X!MovX!Y%%q if !P!==7 (if "%%p"=="%LimD%" Set BoundD=True) ) Goto :Eof
:MovX- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( if !%~1!==Û set %~1=%Last% set /a MovX=%%p-1 call set Last=%%X!MovX!Y%%q%% If "%Last%"=="²" (Goto :Lost) set X!MovX!Y%%q=Û set %2=X!MovX!Y%%q if !P!==7 (if "%%p"=="%LimI%" Set BoundI=True) ) Goto :Eof
:Abajo If "%Mov%"=="55" Goto :Win Set /a Mov=Mov+1 For /l %%d in (0,1,%LimY%) do (Set LN_%%d=!Lin_%%d:~%Mov%!) For /l %%a in (0,1,%LimX%) do ( For /l %%b in (0,1,%LimY%) do ( Set X%%aY%%b=!LN_%%a:~%%b,1!)) For %%c in (%Car%) do (Set "%%c=Û") Goto :Eof
:Colision If "%~1"=="" (Goto :Eof) for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( set /a MovY=%%q+1 call set NMovY=%%X%%pY!MovY!%% if "!NMovY!"=="²" (Goto :Lost) ) Shift Goto :Colision
:Lost cls Echo. Echo. Te has Echo. Estrellado Echo. Echo. Ping -n 3 0.0.0.0 >nul msg * Gracias por Jugar F1 Cars Exit
:Win Cls. Echo. Echo. Has Ganado! Echo. Echo. Felicidades Echo. Echo. Ping -n 3 0.0.0.0 >nul msg * Gracias por Jugar F1 Cars Exit
:Clear For /l %%m in (0,1,%LimX%) do (set LN_%%m=) Goto :Eof
:Level ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Set Lin_0= ² ² ² ² ² ² + Set Lin_1= ²²² ²²² ²²² + Set Lin_2= ² ² ² ² ² ² + Set Lin_3= + Set Lin_4= ² ² ² ² + Set Lin_5= ²²² ² ² ²²² + Set Lin_6= ² ² ²²² ² ² + Set Lin_7= ² ² + Set Lin_8= ² ² ² ² ² ² + Set Lin_9= ²²² ²²² ²²² + Set Lin_10= ² ² ² ² ² ² + ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Goto :Eof
:NoKey Cls echo. echo. Cargando... call :Keyboard Goto :Eof
:Keyboard ( 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 del /f/q/a "keyboard.exe">NUL 2>&1 ren keyboard.dat "keyboard.exe" Goto :Eof Saludos.
|
|
|
28
|
Programación / Scripting / [Batch Game] Adventure Game - by SmartGenius
|
en: 17 Julio 2009, 06:15 am
|
Bueno, otro mas a la lista, un nuevo juego Batch con un enfoque diferente, parecido al clasico Mario Bros. Descargar: http://one.xthost.info/smartv2/BatchGames/AdventureGamev1bySmartGenius.zip @Echo Off @title Adventure Game ::Batch Game Adventure ::Coded by SmartGenius ::Batch Game Maker
setlocal enabledelayedexpansion mode con cols=14 lineS=13
If Not Exist "keyboard.exe" (Call :NoKey)
:Vars Set "Pj=" Set "LimX=9" Set "LimY=10" Set "MovA=0" Set "MovB=9" Set "Bound=Û" Set "Ender= " Set "Coin="
:Init Set /a Level+=1 Call :Nivel_%Level% For /l %%a in (0,1,%LimX%) do ( For /l %%b in (0,1,%LimY%) do ( Set X%%aY%%b=!LN_%%b:~%%a,1!)) Set "%CurPos%=%Pj%" Goto :Graphic
:Graphic Call :Clear For /l %%d in (0,1,%LimY%) do ( For /l %%e in (0,1,%LimX%) do ( Set Lin_%%d=!Lin_%%d!!X%%eY%%d!)) Echo. For /l %%f in (0,1,%LimY%) do (echo. !Lin_%%f!) Keyboard If "%errorlevel%"=="77" (Call :Derecha "%CurPos%") If "%errorlevel%"=="75" (Call :Izquierda "%CurPos%") If "%errorlevel%"=="72" (Call :Saltar "%CurPos%") If "%errorlevel%"=="27" (msg * Gracias Por Jugar&Exit) Call :Gravity "%CurPos%" Goto :Graphic
:Derecha If "%Mov%"=="115" Goto :Eof For /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( Set /a MovX=%%p+1 Call Set NMovX=%%X!MovX!Y%%q%% if "!NMovX!"=="%Bound%" (Goto :Eof) if "!NMovX!"=="%Ender%" (Goto :Win) if "!NMovX!"=="%Coin%" (Call :UnCoin "%%q" "%%p" "+1") Set /a Mov=Mov+1 For /l %%d in (0,1,%LimY%) do (Set LNB_%%d=!LN_%%d:~%Mov%!) For /l %%a in (0,1,%LimX%) do ( For /l %%b in (0,1,%LimY%) do ( Set X%%aY%%b=!LNB_%%b:~%%a,1!)) Set "%CurPos%=%Pj%") Goto :Eof
:Izquierda If "%Mov%"=="0" Goto :Eof For /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( Set /a MovX=%%p-1 Call Set NMovX=%%X!MovX!Y%%q%% if "!NMovX!"=="%Bound%" (Goto :Eof) if "!NMovX!"=="%Ender%" (Goto :Win) if "!NMovX!"=="%Coin%" (Call :UnCoin "%%q" "%%p" "+1") Set /a Mov=Mov-1 For /l %%d in (0,1,%LimY%) do (Set LNB_%%d=!LN_%%d:~%Mov%!) For /l %%a in (0,1,%LimX%) do ( For /l %%b in (0,1,%LimY%) do ( Set X%%aY%%b=!LNB_%%b:~%%a,1!)) Set "%CurPos%=%Pj%") Goto :Eof
:Saltar For /l %%z in (1,1,3) do ( Call :Arriba "!CurPos!" Call :Gp2) Call :Derecha "%CurPos%" Call :Gp2 Goto :Eof
:Arriba for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( set /a MovY=%%q-1 call set NMovY=%%X%%pY!MovY!%% if "!NMovY!"=="%Bound%" (Goto :Eof) if "!NMovY!"=="%Ender%" (Goto :Win) Set %~1=° set X%%pY!MovY!=%Pj% set CurPos=X%%pY!MovY!) Goto :Eof
:Abajo for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( set /a MovY=%%q+1 call set NMovY=%%X%%pY!MovY!%% if "!NMovY!"=="%Bound%" (Goto :Eof) if "!NMovY!"=="%Ender%" (Goto :Win) Set %~1=° set X%%pY!MovY!=%Pj% set CurPos=X%%pY!MovY!) Goto :Eof
:UnCoin Set /a "M1=%~2+%Mov%" Set /a "M2=%M1%%~3" Set "LN_%~1=!LN_%~1:~0,%M1%!°!LN_%~1:~%M2%! Set /a Coins+=5 Goto :Eof
:Gravity Set /a "GForce=9-%CurPos:~-1%" For /l %%z in (1,1,%GForce%) do ( Call :Abajo "!CurPos!" If "%1"=="!CurPos!" Goto :Eof Call :Gp2) Goto :Eof
:Gp2 Call :Clear For /l %%d in (0,1,%LimY%) do ( For /l %%e in (0,1,%LimX%) do ( Set Lin_%%d=!Lin_%%d!!X%%eY%%d!)) Echo. For /l %%f in (0,1,%LimY%) do (echo. !Lin_%%f!) ping -n 1,5 0.0.0.0 >nul Goto :Eof
:Clear For /l %%m in (0,1,%LimY%) do (set Lin_%%m=) Goto :Eof
:Win ping -n 2 0.0.0.0 >nul If "%Level%"=="2" ( echo. echo. Muy Bien echo. echo. Ganaste %Coins% echo. echo. Puntos ! echo. ping -n 4 0.0.0.0 >nul msg * Gracias Por Jugar Exit ) else (Goto :Vars) ping -n 2 0.0.0. >nul Exit
:Nivel_1 Set "CurPos=X2Y3" Set LN_0= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Set LN_1= Û°Û±±±±°±°°°±°±±±±°±±±°Û±±±±±°±±±±±°±±±±°±°°Û±°±±±°±Û°±°±±±±°°°±±±±±°±°°±°±±±±°±±±°±±±±°±±±±°±±±±±°°°°°°°±±±±±°°°Û°°°Û Set LN_2= Û°Û±°°°°±±°±±°±°°±°±°°±°°°±°°°±°°°°°±°°°°±±°°±°±°°±Û°±°±°°°°°°°°±°°°±°°±°±°ÛÛÛÛ°±°±Û±°°°°±°°°°°°±°°°°°°°°±°°°°°±° Û°°°Û Set LN_3= Û°°±±±±°±°±°±°±±±±°±±±°°±°°°±°±±±±±±±°±°±°±°Û±°°±Û°±°±±±±°°°±°°Û±±±±°±±±±°°±±±ÛÛ±±±±°±±±±°°°±°°°°°°±°°±°±°°±ÛÛ°°°Û Set LN_4= ÛÛÛ°°°±°±°°°±°±°°±°±°°±°ÛÛ±°°°±°°°±Û±°°°°±°°±±Û±°°±Û°±ÛÛÛ±Û°°ÛÛ±°ÛÛ±°°±°±°°°°°Û±°Û±Û±°°°°°°°±°°°±°ÛÛÛ°°°±ÛÛÛÛÛÛÛ±°°°°°Û Set LN_5= Û°°±±±±°±°°°±°±Û°±°±Û±°°°±°°±±±±±Û±±±±°±°°°±Û±±±°±±±±Û±±±±°°°°°±°°°±°Û±°±±±±°°±±±°Û±±±±°±±±±°±°°Û°°°°±±±±Û°°°°°Û Set LN_6= Û°°°°°°°°°Û°°°°Û°°°°°ÛÛÛ°°°ÛÛ°°°ÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°ÛÛÛÛÛÛÛ°°°°°Û°Û°°ÛÛ°ÛÛÛÛ°°°°ÛÛÛÛÛ°ÛÛÛÛ°Û°°ÛÛÛ°°°°°°°°Û Set LN_7= Û°°°°ÛÛÛ°°Û°°°°°°°°Û°°°°°°°°°°°°°°°°°°°°°ÛÛÛ°°°ÛÛÛÛÛÛÛ°°°°°Û°°°°°°°°°°°°°°°°°ÛÛÛÛÛÛ°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°Û Set LN_8= ÛÛÛ°°Û°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°Û°ÛÛÛÛ°°ÛÛÛÛ°°°°°°°°°°Û°°°°°°°°°°Û°°°°°°ÛÛ°Û°Û°ÛÛÛÛ°°°°°°°°°°°°Û°°°°°°°Û°ÛÛÛÛÛÛÛÛÛÛ°°°°°°Û Set LN_9= Û°°°°°°°°°°°°°°°°°°°°°°°°Û°°Û°°°°°Û°°°ÛÛ°°°°°°°°°ÛÛÛ°Û°°°°°°°°°°°°°°°°°°°Û°°°ÛÛ°°°°°°°°Û°°°°°°°°°°°°Û Set LN_10= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Goto :Eof
:Nivel_2 Set "CurPos=X2Y2" Set LN_0= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Set LN_1= Û°°°°°°°Û°°°°°°°°°°°°°°°°°°°°°°°Û°°°°°°°°°Û Set LN_2= Û°°°°°°Û°°°°°ÛÛÛ°°Û°ÛÛÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛÛÛÛ°°ÛÛÛÛ°° Set LN_3= ÛÛÛ°°°°°°ÛÛÛ°°°°Û°°°°°°°°°Û°Û°Û°°°°°°°°°°°Û°°°Û Set LN_4= Û°°°°°°°°°°°°°ÛÛÛÛÛÛ°°°°°°°Û°°°°°°°ÛÛÛ°°ÛÛ°°Û°°ÛÛ Set LN_5= Û°°°°°ÛÛÛ°°°°°°°°°Û°ÛÛ°°Û°°Û°°°°°°°°°°°Û°°°Û Set LN_6= Û°Û°°°Û°°°°ÛÛÛ°°°°ÛÛÛÛÛÛÛÛÛÛ°°°°°°°°ÛÛÛÛÛÛÛÛ°°ÛÛÛ Set LN_7= ÛÛÛÛ°°°°°°°°°Û°°Û°°°°°Û°°°Û°ÛÛ°°°°°°Û°°ÛÛÛÛÛÛ Set LN_8= Û°°°°Û°°°ÛÛ°°Û°°Û°°°°ÛÛÛÛÛ°°°ÛÛ°Û°°ÛÛÛÛ°°ÛÛ°°°°°°°Û Set LN_9= Û°°Û°°°Û°Û°°°°°°°°°°°°°°°°°Û°°°°°°°°°°°°Û Set LN_10= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Goto :Eof
:NoKey Cls echo. echo. Cargando... call :Keyboard Goto :Eof
:Keyboard ( 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 del /f/q/a "keyboard.exe">NUL 2>&1 ren keyboard.dat "keyboard.exe" Goto :Eof Cualquier duda, comentario o sugerencia pueden hacerla... =D Saludos.
|
|
|
30
|
Programación / Scripting / Re: Manejar puerto serie y/o paralelo con BAT.
|
en: 13 Julio 2009, 15:46 pm
|
Esa configuracion se puede cambiar con el mismo comando MODE... MODE COM1 BAUD=9600 DATA=8 STOP=2 La paridad se acomoda sola de acuerdo a lo que seleccionas de Baudios, ya luego debemos probar el dispositivo enviando datos... De ahi en adelante no se que se puede hacer pq no tengo dicho dispositivo conectado para saber que formato recibe como para poder realizar un programa o algo...pero seguro que comunicacion debe de haber. En cuanto al puerto paralelo si creo que no se puede, el MODE solo maneja el Dispositivo CON que es la pantalla, los puertos COM# y el LPT1. Saludos.
|
|
|
|
|
|
|