@Echo off@title Space Invaders v 1@mode con cols=29 lines=25:: Batch Game - Space Invaders v 1:: Coded by SmartGenius:: SmartGenius, Corp. 2010Choice /N /T:Y,1 >Nul 2>&1If "%Errorlevel%"=="9009" (Echo. CHOICE command not found&Pause&Exit)Set "Game=%0"Call :Logo:MenuClsEcho.Echo.Echo. Space Invaders v 1Echo. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄEcho. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿Echo. ³1.³ ³Play Game ³Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙEcho. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿Echo. ³2.³ ³How to Play ³Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙEcho. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿Echo. ³3.³ ³Exit Game ³Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙEcho.CHOICE /C:123 /N >nulREM CHOICE /C 123 /N >nulIf "%errorlevel%"=="1" (Goto :Load)If "%errorlevel%"=="2" (Goto :Help)If "%errorlevel%"=="3" (Goto :End)Goto :Menu:LoadSetlocal enabledelayedexpansionSet /a "LimX=19","LimY=16","TBound=0","LBound=0","Turn=1","Points=0"Set /a "RBound=%LimX%","BBound=%LimY%":InitFor /l %%a in (0,1,%LimX%) do (For /l %%b in (0,1,%LimY%) do (Set "X%%aY%%b= "))Set "Bound=Û"Set "Bound2=²"Set "Invader="Set "Shot=o":MainCall :MapCall :PlayerCall :GraphicGoto :Main:GraphicCall :ClearClsEcho.Echo. Space Invaders by SmartEcho.Echo. Points:%Points%Echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»For /l %%f in (0,1,%LimY%) do (Echo. º!Lin_%%f!º)Echo. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼCall :MovFireIf "%N_Invaders%"=="0" Goto :WinCall :MoveCall :MovPCGoto :Graphic:Move:: Normal CHOICE (provided into ZIP package)REM CHOICE /C WADXC /N >nul:: Windows 7 or x64 system CHOICE (uncomment)CHOICE /C:WADXC /N If "%errorlevel%"=="1" (Call :Fire)If "%errorlevel%"=="2" (Call :MovS "Player" "Bound" "-" "L")If "%errorlevel%"=="3" (Call :MovS "Player" "Bound" "+" "R")If "%errorlevel%"=="4" (Goto :Menu)If "%errorlevel%"=="5" (Call :MovCR)Goto :Eof:::::::::::::::::::::::::::::::::::::::::FireFor /f "tokens=4 delims=," %%f in ("%Player%") do (For /f "tokens=1,2 delims=X,Y" %%g in ("%%f") do (Set /a "NewF=%%h-1"Set "X%%gY!NewF!=%Shot%"Set "Shots=%Shots%,X%%gY!NewF!"))Goto :Eof:MovFireSet "TmpShots="For %%s in (%Shots%) do (Call :CkFire "%%s" "TmpCoord" "TmpVal"If "!TmpVal!"==" " (Set "%%s= "Set "!TmpCoord!=%Shot%"Set "TmpShots=!TmpShots!,!TmpCoord!")If "!TmpVal!"=="" (Set "%%s= ")If "!TmpVal!"=="%Bound2%" (Set "%%s= "Set "!TmpCoord!= ") If "!TmpVal!"=="%Invader%" (Set "%%s= "Set "!TmpCoord!= "Set /a "Points+=10"Set /a "N_Invaders-=1"Call Set "Invaders=%%Invaders:,!TmpCoord!=%%"))Set "Shots=%TmpShots:~1%"Goto :Eof:CkFireFor /f "tokens=1,2 delims=X,Y" %%g in ("%~1") do (Set /a "MovY=%%h-1"Set "%~2=X%%gY!MovY!"Call Set "%~3=%%X%%gY!MovY!%%")Goto :Eof:MovPCSet /a "Turn+=1"Set /a "Dir=(%Turn% %% 6)+1"If "%Dir%"=="1" Call :MovS "Invaders" "Invader" "-" "L"If "%Dir%"=="2" Call :MovS "Invaders" "Invader" "-" "L"If "%Dir%"=="3" Call :MovS "Invaders" "Invader" "-" "L"If "%Dir%"=="4" Call :MovS "Invaders" "Invader" "+" "R"If "%Dir%"=="5" Call :MovS "Invaders" "Invader" "+" "R"If "%Dir%"=="6" Call :MovS "Invaders" "Invader" "+" "R"Goto :Eof:::::::::::::::::::::::::::MovCRClsEcho.Echo.Call :L2 "Goto :Eof"Echo.For /f "tokens=2 skip=3" %%c in ('find "::_0" %Game%') do (Set "Tmp_Var=%%c"Call :Key.A Tmp_VarEcho. !Tmp_Var!)Pause >nulGoto :Eof:::::::::::::::::::::::::::::MovSSet "TmpTB="Set "TmpTable=!%~1!"For %%a in (%TmpTable%) do (Echo.!TmpTable!|Find "X!%~4Bound!">nulIf !Errorlevel! EQU 0 (Goto :Eof)Call :MovXR "%~31" "%%a" "Val" Call Set "TmpTB=!TmpTB!,!Val!")For %%c in (%TmpTB:~1%) do (If "!%%c!"=="%Bound2%" (For %%b in (!%~1!) do (Set "%%b=!%~2!")Goto :Eof))Set "%~1=%TmpTB:~1%"For %%d in (!%~1!) do (Set "%%d=!%~2!")Goto :Eof:MovXRFor /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (Set /a MovX=%%p%~1Set "%~3=X!MovX!Y%%q"Set "%~2= ")Goto :Eof::::::::::::::::::::::::::Key.AIf not defined %1 Goto:EofSet "c="Set "d=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =/\()[]{}_-.:,;* @#":Key.BSet "chr=!%1:~,1!"For /l %%l in (0 1 80) do if "!chr!" equ "!d:~%%l,1!" ( set /a "x=%%l^5" call set "c=!c!%%d:~!x!,1%%")Set "%1=!%1:~1!"If defined %1 goto:Key.BSet "%1=!c!"Goto :Eof::::::::::::::::::::::::ClearFor /l %%m in (0,1,%LimY%) do (Set Lin_%%m=)For /l %%d in (0,1,%LimY%) do (For /l %%e in (0,1,%LimX%) do (Set Lin_%%d=!Lin_%%d!!X%%eY%%d!))Goto :Eof:LostClsEcho.Echo. Space Invaders by SmartEcho.Echo. Has Perdido !Echo.Echo. Points:%Points%Echo.Goto :End:WinClsEcho.Echo. Space Invaders v 1 Echo. Coded by SmartGeniusEcho.Echo. Points:%Points%Echo. Has Ganado !Goto :End:EndEcho.Echo. Gracias por Jugar Echo. Space Invaders by SmartEndlocalPing -n 3 localhost >nulExit::::::::::::::::::::::::::::::::::PlayerSet Player_Init=X6Y16,X7Y16,X8Y16,X7Y15Set Player=%Player_Init%For %%b in (%Player%) do (Set "%%b=%Bound%")Goto :Eof:MapFor %%a in (X2Y13,X3Y12,X3Y13,X4Y12,X4Y13,X5Y13,X8Y13,X9Y12,X9Y13,X10Y12,X10Y13,X11Y13,X14Y13,X15Y12,X15Y13,X16Y12,X16Y13,X17Y13) do (Set "%%a=%Bound2%")For %%b in (X2Y2,X2Y4,X4Y3,X6Y2,X6Y4,X8Y3,X10Y2,X10Y4,X12Y3,X14Y2,X14Y4,X16Y3,X18Y2,X18Y4) do (Set "Invaders=!Invaders!,%%b"Set "%%b=%Invader%")Set "Invaders=%Invaders:~1%"Set /a "N_Invaders=14"Goto :Eof::_0 xxxxxxxxxxxxxxxxxxxxxxxxx::_0 xx9tYjYxWvxPrXmoLjqfzpxxx::_0 xxxxxXhXxLBINRPFGBaxxxxxx::_0 xxxxxxxxxxxxxxxxxxxxxxxxx::_0 xxxxxxxxxxxxxxxxxxxxxxxxx::_0 xPrXmoLjqfzpx9tms-x7545xx:HelpClsCall :L2 "Goto :Eof"Echo.Echo. How to Play Invaders ?Echo.Echo. Use keys A,S,W,XEcho.Echo. A = Move Ship LeftEcho. S = Move Ship DownEcho. W = Throw FireEcho. X = Back to Menu GameEcho.Echo. Pause >nulGoto :Menu:LogoClsColor 0a:L2Echo.Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°°Echo. °°°°°ÛÛ°ÛÛ°°°Û°°°Û°°ÛÛÛ°°°°Echo. °°°°Û°°°Û°Û°Û°Û°Û°Û°Û°°°°°°Echo. °°°°°Û°°ÛÛ°°ÛÛÛ°Û°°°ÛÛÛ°°°°Echo. °°°°°°Û°Û°°°Û°Û°Û°Û°Û°°°°°°Echo. °°°°ÛÛ°°Û°°°Û°Û°°Û°°ÛÛÛ°°°°Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°°Echo. °°±°I°°N°°V°°A°°D°°E°°R°±°°%~1Echo. °°±°°°°°°°°°°°°°°°°°°°°°±°°Echo. °°±°°°°°°°°°°°°°°°°±°°Echo. °°±°°°°°°°°°°°°°°°°±°°Echo. °°±°°°°°°°°°°°°°°°°°°°°°±°°Echo. °°±°°°°°°°o°°°°°°°°°°°°°±°°Echo. °°±°°°°°°°°°°°°°°°°°°°°°±°°Echo. °°±°°°²²°°o°²²°°°°²²°°°°±°°Echo. °°±°°²²²²°°²²²²°°²²²²°°°±°°Echo. °°±°°°°°°°Û°°°°°°°°°°°°°±°°Echo. °°±°°°°°°ÛÛÛ°°°°°°°°°°°°±°°Echo. °°±±±±±±±±±±±±±±±±±±±±±±±°°Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°°Echo. °°°°°°: SmartGenius :°°°°°°Echo. °°°°°° Corp. 2010 °°°°°°Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°°Pause >nulGoto :Eof