Batch Games
Posted: 24 Apr 2012 21:00
Share Some Batch Game Sripts With All Of Us!
Code: Select all
@ECho off
:s
set a1=_&set a2=_&set a3=_&set a4=_&set b1=_&set b2=_&set b3=_&set b4=_&set c1=_&set c2=_&set c3=_&set c4=_
set d3=_&set d4=_&set e1=_&set e2=_&set e3=_&set e4=_&set f1=_&set f2=_&set f3=_&set f4=_&set d1=_&set d2=_
set moves=0&set AC=1&set BC=1&set CC=1&set DC=1&set FC=1&set EC=1
cls&call :board
:start
call :player
call :winlist
GOTO :computer
:AFTER
set /a moves= %moves% + 1
if %moves%==12 goto tie
GOTO START
:player
call :board&set /p P1="ENTER A LETTER:"
if /i %p1%%AC%==A1 set A1=X&Set /a AC= %AC%+1&EXIT /B
if /i %p1%%AC%==A2 set A2=X&Set /a AC= %AC%+1&EXIT /B
if /i %p1%%AC%==A3 set A3=X&Set /a AC= %AC%+1&EXIT /B
if /i %p1%%AC%==A4 set A4=X&Set /a AC= %AC%+1&EXIT /B
if /i %p1%%BC%==B1 set B1=X&set /a BC= %BC%+1&EXIT /B
if /i %p1%%BC%==B2 set B2=X&set /a BC= %BC%+1&EXIT /B
if /i %p1%%BC%==B3 set B3=X&set /a BC= %BC%+1&EXIT /B
if /i %p1%%BC%==B4 set B4=X&set /a BC= %BC%+1&EXIT /B
if /i %p1%%CC%==C1 set C1=X&set /a CC= %CC%+1&EXIT /B
if /i %p1%%CC%==C2 set C2=X&set /a CC= %CC%+1&EXIT /B
if /i %p1%%CC%==C3 set C3=X&set /a CC= %CC%+1&EXIT /B
if /i %p1%%CC%==C4 set C4=X&set /a CC= %CC%+1&EXIT /B
if /i %p1%%DC%==D1 set D1=X&set /a DC= %DC%+1&EXIT /B
if /i %p1%%DC%==D2 set D2=X&set /a DC= %DC%+1&EXIT /B
if /i %p1%%DC%==D3 set D3=X&set /a DC= %DC%+1&EXIT /B
if /i %p1%%DC%==D4 set D4=X&set /a DC= %DC%+1&EXIT /B
if /i %p1%%EC%==E1 set E1=X&set /a EC= %EC%+1&EXIT /B
if /i %p1%%EC%==E2 set E2=X&set /a EC= %EC%+1&EXIT /B
if /i %p1%%EC%==E3 set E3=X&set /a EC= %EC%+1&EXIT /B
if /i %p1%%EC%==E4 set E4=X&set /a EC= %EC%+1&EXIT /B
if /i %p1%%FC%==F1 set F1=X&set /a FC= %FC%+1&EXIT /B
if /i %p1%%FC%==F2 set F2=X&set /a FC= %FC%+1&EXIT /B
if /i %p1%%FC%==F3 set F3=X&set /a FC= %FC%+1&EXIT /B
if /i %p1%%FC%==F4 set F4=X&set /a FC= %FC%+1&EXIT /B
ECHO Invalid&timeout /t 1 /nobreak>nul&GOTO START
:COMPUTER
CALL :ATTACKER
CALL :DEFENDER
:RANDOMERROR
set /a N=%random% %% 6
IF %N%%AC%==05 GOTO RANDOMERROR
IF %N%%BC%==15 GOTO RANDOMERROR
IF %N%%CC%==25 GOTO RANDOMERROR
IF %N%%DC%==35 GOTO RANDOMERROR
IF %N%%EC%==45 GOTO RANDOMERROR
IF %N%%FC%==55 GOTO RANDOMERROR
IF %N%==0 SET A%AC%=O&SET /A AC= %AC%+1
IF %N%==1 SET B%BC%=O&SET /A BC= %BC%+1
IF %N%==2 SET C%CC%=O&SET /A CC= %CC%+1
IF %N%==3 SET D%DC%=O&SET /A DC= %DC%+1
IF %N%==4 SET E%EC%=O&SET /A EC= %EC%+1
IF %N%==5 SET F%FC%=O&SET /A FC= %FC%+1
call :board&GOTO AFTER
:lose
call :board&ECho Computer wins&ECho.&ECho Press any key to restart&pause>nul&goto s
:tie
call :board&ECho Tie&ECho.&ECho Press any key to restart&pause>nul&goto s
:win
call :board&EChO You Win&ECho.&ECho Press any key to restart&pause>nul&goto s
:board
cls&ECho.&ECho _ _ _ _ _ _&ECho ^|%A4%^|%B4%^|%C4%^|%D4%^|%E4%^|%F4%^|
ECho ^|%A3%^|%B3%^|%C3%^|%D3%^|%E3%^|%F3%^|&ECho ^|%A2%^|%B2%^|%C2%^|%D2%^|%E2%^|%F2%^|
ECho ^|%A1%^|%B1%^|%C1%^|%D1%^|%E1%^|%F1%^|&ECho A B C D E F&ECho.&exit /b
:defender
if %A1%%A2%%A3%%A4%==XXX_ set A4=O&set /a AC= %AC%+1& GOTO AFTER
if %A1%%A2%%A3%%A4%==XX_X set A3=O&set /a AC= %AC%+1& GOTO AFTER
if %A1%%A2%%A3%%A4%==X_XX set A2=O&set /a AC= %AC%+1& GOTO AFTER
if %A1%%A2%%A3%%A4%==_XXX set A1=O&set /a AC= %AC%+1& GOTO AFTER
if %B1%%B2%%B3%%B4%==XXX_ set B4=O&set /a BC= %BC%+1& GOTO AFTER
if %B1%%B2%%B3%%B4%==XX_X set B3=O&set /a BC= %BC%+1& GOTO AFTER
if %B1%%B2%%B3%%B4%==X_XX set B2=O&set /a BC= %BC%+1& GOTO AFTER
if %B1%%B2%%B3%%B4%==_XXX set B1=O&set /a BC= %BC%+1& GOTO AFTER
if %C1%%C2%%C3%%C4%==XXX_ set C4=O&set /a CC= %CC%+1& GOTO AFTER
if %C1%%C2%%C3%%C4%==XX_X set C3=O&set /a CC= %CC%+1& GOTO AFTER
if %C1%%C2%%C3%%C4%==X_XX set C2=O&set /a CC= %CC%+1& GOTO AFTER
if %C1%%C2%%C3%%C4%==_XXX set C1=O&set /a CC= %CC%+1& GOTO AFTER
if %D1%%D2%%D3%%D4%==XXX_ set D4=O&set /a DC= %DC%+1& GOTO AFTER
if %D1%%D2%%D3%%D4%==XX_X set D3=O&set /a DC= %DC%+1& GOTO AFTER
if %D1%%D2%%D3%%D4%==X_XX set D2=O&set /a DC= %DC%+1& GOTO AFTER
if %D1%%D2%%D3%%D4%==_XXX set D1=O&set /a DC= %DC%+1& GOTO AFTER
if %E1%%E2%%E3%%E4%==XXX_ set E4=O&set /a EC= %EC%+1& GOTO AFTER
if %E1%%E2%%E3%%E4%==XX_X set E3=O&set /a EC= %EC%+1& GOTO AFTER
if %E1%%E2%%E3%%E4%==X_XX set E2=O&set /a EC= %EC%+1& GOTO AFTER
if %E1%%E2%%E3%%E4%==_XXX set E1=O&set /a EC= %EC%+1& GOTO AFTER
if %F1%%F2%%F3%%F4%==XXX_ set F4=O&set /a FC= %FC%+1& GOTO AFTER
if %F1%%F2%%F3%%F4%==XX_X set F3=O&set /a FC= %FC%+1& GOTO AFTER
if %F1%%F2%%F3%%F4%==X_XX set F2=O&set /a FC= %FC%+1& GOTO AFTER
if %F1%%F2%%F3%%F4%==_XXX set F1=O&set /a FC= %FC%+1& GOTO AFTER
if %A4%%b4%%c4%%d4%==XXX_ if NOT %d3%==_ set d4=O&Set /a DC= %DC%+1& GOTO AFTER
if %A4%%b4%%c4%%d4%==XX_X if NOT %d3%==_ set c4=O&set /a CC= %CC%+1& GOTO AFTER
if %A4%%b4%%c4%%d4%==X_XX if NOT %d3%==_ set b4=O&set /a BC= %BC%+1& GOTO AFTER
if %A4%%b4%%c4%%d4%==_XXX if NOT %d3%==_ set A4=O&set /a AC= %AC%+1& GOTO AFTER
if %A3%%b3%%c3%%d3%==XXX_ if NOT %d2%==_ set d3=O&set /a DC= %DC%+1& GOTO AFTER
if %A3%%b3%%c3%%d3%==XX_X if NOT %c2%==_ set c3=O&set /a CC= %CC%+1& GOTO AFTER
if %A3%%b3%%c3%%d3%==X_XX if NOT %b2%==_ set b3=O&set /a BC= %BC%+1& GOTO AFTER
if %A3%%b3%%c3%%d3%==_XXX if NOT %a2%==_ set A3=O&set /a AC= %AC%+1& GOTO AFTER
if %A2%%b2%%c2%%d2%==XXX_ if NOT %d1%==_ set d2=O&set /a DC= %DC%+1& GOTO AFTER
if %A2%%b2%%c2%%d2%==XX_X if NOT %c1%==_ set c2=O&set /a CC= %CC%+1& GOTO AFTER
if %A2%%b2%%c2%%d2%==X_XX if NOT %b1%==_ set b2=O&set /a BC= %BC%+1& GOTO AFTER
if %A2%%b2%%c2%%d2%==_XXX if NOT %a1%==_ set A2=O&set /a AC= %AC%+1& GOTO AFTER
if %A1%%b1%%c1%%d1%==XXX_ set d1=O&set /a DC= %DC%+1& GOTO AFTER
if %A1%%b1%%c1%%d1%==XX_X set c1=O&set /a CC= %CC%+1& GOTO AFTER
if %A1%%b1%%c1%%d1%==X_XX set b1=O&set /a BC= %BC%+1& GOTO AFTER
if %A1%%b1%%c1%%d1%==_XXX set A1=O&set /a AC= %AC%+1& GOTO AFTER
if %b4%%c4%%d4%%e4%==XXX_ if NOT %e3%==_ set e3=O&set /a EC= %EC%+1& GOTO AFTER
if %b4%%c4%%d4%%e4%==XX_X if NOT %d3%==_ set d3=O&set /a DC= %DC%+1& GOTO AFTER
if %b4%%c4%%d4%%e4%==X_XX if NOT %c3%==_ set c3=O&set /a CC= %CC%+1& GOTO AFTER
if %b4%%c4%%d4%%e4%==_XXX if NOT %b3%==_ set b3=O&set /a BC= %BC%+1& GOTO AFTER
if %b3%%c3%%d3%%e3%==XXX_ if NOT %e2%==_ set e2=O&set /a EC= %EC%+1& GOTO AFTER
if %b3%%c3%%d3%%e3%==XX_X if NOT %d2%==_ set d2=O&set /a DC= %DC%+1& GOTO AFTER
if %b3%%c3%%d3%%e3%==X_XX if NOT %c2%==_ set c3=O&set /a CC= %CC%+1& GOTO AFTER
if %b3%%c3%%d3%%e3%==_XXX if NOT %b2%==_ set b3=O&set /a BC= %BC%+1& GOTO AFTER
if %b2%%c2%%d2%%e2%==XXX_ if NOT %e1%==_ set e2=O&set /a EC= %EC%+1& GOTO AFTER
if %b2%%c2%%d2%%e2%==XX_X if NOT %d1%==_ set d2=O&set /a DC= %DC%+1& GOTO AFTER
if %b2%%c2%%d2%%e2%==X_XX if NOT %c1%==_ set c2=O&set /a CC= %CC%+1& GOTO AFTER
if %b2%%c2%%d2%%e2%==_XXX if NOT %b1%==_ set b2=O&set /a BC= %BC%+1& GOTO AFTER
if %b1%%c1%%d1%%e1%==XXX_ set e1=O&set /a EC= %EC%+1& GOTO AFTER
if %b1%%c1%%d1%%e1%==XX_X set d1=O&set /a DC= %DC%+1& GOTO AFTER
if %b1%%c1%%d1%%e1%==X_XX set c1=O&set /a CC= %CC%+1& GOTO AFTER
if %b1%%c1%%d1%%e1%==_XXX set b1=O&set /a BC= %BC%+1& GOTO AFTER
if %c4%%d4%%e4%%f4%==XXX_ if NOT %f3%==_ set F4=O&set /a FC= %FC%+1& GOTO AFTER
if %c4%%d4%%e4%%f4%==XX_X if NOT %e3%==_ set E4=O&set /a EC= %EC%+1& GOTO AFTER
if %c4%%d4%%e4%%f4%==X_XX if NOT %d3%==_ set D4=O&set /a DC= %DC%+1& GOTO AFTER
if %c4%%d4%%e4%%f4%==_XXX if NOT %c3%==_ set C4=O&set /a CC= %CC%+1& GOTO AFTER
if %c3%%d3%%e3%%f3%==XXX_ if NOT %f2%==_ set F3=O&set /a FC= %FC%+1& GOTO AFTER
if %c3%%d3%%e3%%f3%==XX_X if NOT %e2%==_ set E3=O&set /a EC= %EC%+1& GOTO AFTER
if %c3%%d3%%e3%%f3%==X_XX if NOT %d2%==_ set D3=O&set /a DC= %DC%+1& GOTO AFTER
if %c3%%d3%%e3%%f3%==_XXX if NOT %c2%==_ set C3=O&set /a CC= %CC%+1& GOTO AFTER
if %c2%%d2%%e2%%f2%==XXX_ if NOT %f1%==_ set F2=O&set /a FC= %FC%+1& GOTO AFTER
if %c2%%d2%%e2%%f2%==XX_X if NOT %e1%==_ set E2=O&set /a EC= %EC%+1& GOTO AFTER
if %c2%%d2%%e2%%f2%==X_XX if NOT %d1%==_ set D2=O&set /a DC= %DC%+1& GOTO AFTER
if %c2%%d2%%e2%%f2%==_XXX if NOT %c1%==_ set C2=O&set /a CC= %CC%+1& GOTO AFTER
if %c1%%d1%%e1%%f1%==XXX_ set F1=O&set /a FC= %FC%+1& GOTO AFTER
if %c1%%d1%%e1%%f1%==XX_X set E1=O&set /a EC= %EC%+1& GOTO AFTER
if %c1%%d1%%e1%%f1%==X_XX set D1=O&set /a DC= %DC%+1& GOTO AFTER
if %c1%%d1%%e1%%f1%==_XXX set C1=O&set /a CC= %CC%+1& GOTO AFTER
if %a1%%b2%%c3%%d4%==XXX_ if NOT %d4%==_ set d4=O&set /a DC= %DC%+ 1& GOTO AFTER
if %a1%%b2%%c3%%d4%==XX_X if NOT %c3%==_ set C3=O&set /a CC= %CC%+ 1& GOTO AFTER
if %a1%%b2%%c3%%d4%==X_XX if NOT %b2%==_ set B2=O&set /a BC= %BC%+ 1& GOTO AFTER
if %a1%%b2%%c3%%d4%==_XXX set A1=O&set /a AC= %AC%+1& GOTO AFTER
if %a4%%b3%%c2%%d1%==XXX_ set D1=O&set /a DC= %DC%+1& GOTO AFTER
if %a4%%b3%%c2%%d1%==XX_X if NOT %c1%==_ set C2=O&set /a CC= %CC%+1& GOTO AFTER
if %a4%%b3%%c2%%d1%==X_XX if NOT %b2%==_ set B3=O&set /a BC= %BC%+1& GOTO AFTER
if %a4%%b3%%c2%%d1%==_XXX if NOT %a3%==_ set A4=O&set /a AC= %AC%+1& GOTO AFTER
if %b1%%C2%%D3%%E4%==XXX_ if NOT %e3%==_ set E4=O&set /a EC= %EC%+1& GOTO AFTER
if %b1%%C2%%D3%%E4%==XX_X if NOT %d2%==_ set D3=O&set /a DC= %DC%+1& GOTO AFTER
if %b1%%C2%%D3%%E4%==X_XX if NOT %c1%==_ set C2=O&set /a CC= %CC%+1& GOTO AFTER
if %b1%%C2%%D3%%E4%==_XXX set B1=O&set /a BC= %BC%+1& GOTO AFTER
if %b4%%C3%%D2%%E1%==XXX_ set E1=O&set /a EC= %EC%+1& GOTO AFTER
if %b4%%C3%%D2%%E1%==XX_X if NOT %d1%==_ set D2=O&set /a DC= %DC%+1& GOTO AFTER
if %b4%%C3%%D2%%E1%==X_XX if NOT %c2%==_ set C3=O&set /a CC= %CC%+1& GOTO AFTER
if %b4%%C3%%D2%%E1%==_XXX if NOT %b3%==_ set B4=O&set /a BC= %BC%+1& GOTO AFTER
if %c1%%d2%%e3%%f4%==XXX_ if NOT %f3%==_ set F4=O&set /a FC= %FC%+1& GOTO AFTER
if %c1%%d2%%e3%%f4%==XX_X if NOT %e2%==_ set E3=O&set /a EC= %EC%+1& GOTO AFTER
if %c1%%d2%%e3%%f4%==X_XX if NOT %d1%==_ set D2=O&set /a DC= %DC%+1& GOTO AFTER
if %c1%%d2%%e3%%f4%==_XXX set C1=O&set /a CC= %CC%+1& GOTO AFTER
if %c4%%d3%%e2%%f1%==XXX_ set F1=O&set /a FC= %FC%+1& GOTO AFTER
if %c4%%d3%%e2%%f1%==XX_X if NOT %e1%==_ set E2=O&set /a EC= %EC%+1& GOTO AFTER
if %c4%%d3%%e2%%f1%==X_XX if NOT %d2%==_ set D3=O&set /a DC= %DC%+1& GOTO AFTER
if %c4%%d3%%e2%%f1%==_XXX if NOT %c3%==_ set C4=O&set /a CC= %CC%+1& GOTO AFTER
exit /b
:attACker
if %A1%%A2%%A3%%A4%==OOO_ if NOT %A3%==_ set A4=O& goto lose
if %A1%%A2%%A3%%A4%==OO_O if NOT %A2%==_ set A3=O& goto lose
if %A1%%A2%%A3%%A4%==O_OO if NOT %A1%==_ set A2=O& goto lose
if %A1%%A2%%A3%%A4%==_OOO set A1=O& goto lose
if %B1%%B2%%B3%%B4%==OOO_ if NOT %B3%==_ set B4=O& goto lose
if %B1%%B2%%B3%%B4%==OO_O if NOT %B2%==_ set B3=O& goto lose
if %B1%%B2%%B3%%B4%==O_OO if NOT %B1%==_ set B2=O& goto lose
if %B1%%B2%%B3%%B4%==_OOO set B1=O& goto lose
if %C1%%C2%%C3%%C4%==OOO_ if NOT %c3%==_ set C4=O& goto lose
if %C1%%C2%%C3%%C4%==OO_O if NOT %c2%==_ set C3=O& goto lose
if %C1%%C2%%C3%%C4%==O_OO if NOT %c1%==_ set C2=O& goto lose
if %C1%%C2%%C3%%C4%==_OOO set C1=O& goto lose
if %D1%%D2%%D3%%D4%==OOO_ if NOT %d3%==_ set D4=O& goto lose
if %D1%%D2%%D3%%D4%==OO_O if NOT %d2%==_ set D3=O& goto lose
if %D1%%D2%%D3%%D4%==O_OO if NOT %d1%==_ set D2=O& goto lose
if %D1%%D2%%D3%%D4%==_OOO set D1=O& goto lose
if %E1%%E2%%E3%%E4%==OOO_ if NOT %e3%==_ set E4=O& goto lose
if %E1%%E2%%E3%%E4%==OO_O if NOT %e2%==_ set E3=O& goto lose
if %E1%%E2%%E3%%E4%==O_OO if NOT %d1%==_ set E2=O& goto lose
if %E1%%E2%%E3%%E4%==_OOO set E1=O& goto lose
if %F1%%F2%%F3%%F4%==OOO_ if NOT %f3%==_ set F4=O& goto lose
if %F1%%F2%%F3%%F4%==OO_O if NOT %f2%==_ set F3=O& goto lose
if %F1%%F2%%F3%%F4%==O_OO if NOT %f1%==_ set F2=O& goto lose
if %F1%%F2%%F3%%F4%==_OOO set F1=O& goto lose
if %A4%%b4%%c4%%d4%==OOO_ if NOT %d3%==_ set d4=O& goto lose
if %A4%%b4%%c4%%d4%==OO_O if NOT %c3%==_ set c4=O& goto lose
if %A4%%b4%%c4%%d4%==O_OO if NOT %b3%==_ set b4=O& goto lose
if %A4%%b4%%c4%%d4%==_OOO if NOT %a3%==_ set A4=O& goto lose
if %A3%%b3%%c3%%d3%==OOO_ if NOT %d2%==_ set d3=O& goto lose
if %A3%%b3%%c3%%d3%==OO_O if NOT %c2%==_ set c3=O& goto lose
if %A3%%b3%%c3%%d3%==O_OO if NOT %b2%==_ set b3=O& goto lose
if %A3%%b3%%c3%%d3%==_OOO if NOT %a2%==_ set A3=O& goto lose
if %A2%%b2%%c2%%d2%==OOO_ if NOT %d1%==_ set d2=O& goto lose
if %A2%%b2%%c2%%d2%==OO_O if NOT %c1%==_ set c2=O& goto lose
if %A2%%b2%%c2%%d2%==O_OO if NOT %b1%==_ set b2=O& goto lose
if %A2%%b2%%c2%%d2%==_OOO if NOT %a1%==_ set A2=O& goto lose
if %A1%%b1%%c1%%d1%==OOO_ set d1=O& goto lose
if %A1%%b1%%c1%%d1%==OO_O set c1=O& goto lose
if %A1%%b1%%c1%%d1%==O_OO set b1=O& goto lose
if %A1%%b1%%c1%%d1%==_OOO set A1=O& goto lose
if %b4%%c4%%d4%%e4%==OOO_ if NOT %e3%==_ set e4=O& goto lose
if %b4%%c4%%d4%%e4%==OO_O if NOT %d3%==_ set d4=O& goto lose
if %b4%%c4%%d4%%e4%==O_OO if NOT %c3%==_ set c4=O& goto lose
if %b4%%c4%%d4%%e4%==_OOO if NOT %b3%==_ set b4=O& goto lose
if %b3%%c3%%d3%%e3%==OOO_ if NOT %e2%==_ set e3=O& goto lose
if %b3%%c3%%d3%%e3%==OO_O if NOT %d2%==_ set d3=O& goto lose
if %b3%%c3%%d3%%e3%==O_OO if NOT %c2%==_ set c3=O& goto lose
if %b3%%c3%%d3%%e3%==_OOO if NOT %b2%==_ set b3=O& goto lose
if %b2%%c2%%d2%%e2%==OOO_ if NOT %e1%==_ set e2=O& goto lose
if %b2%%c2%%d2%%e2%==OO_O if NOT %d1%==_ set d2=O& goto lose
if %b2%%c2%%d2%%e2%==O_OO if NOT %c1%==_ set c2=O& goto lose
if %b2%%c2%%d2%%e2%==_OOO if NOT %b1%==_ set b2=O& goto lose
if %b1%%c1%%d1%%e1%==OOO_ set e1=O& goto lose
if %b1%%c1%%d1%%e1%==OO_O set d1=O& goto lose
if %b1%%c1%%d1%%e1%==O_OO set c1=O& goto lose
if %b1%%c1%%d1%%e1%==_OOO set b1=O& goto lose
if %c4%%d4%%e4%%f4%==OOO_ if NOT %f3%==_ set F4=O& goto lose
if %c4%%d4%%e4%%f4%==OO_O if NOT %e3%==_ set E4=O& goto lose
if %c4%%d4%%e4%%f4%==O_OO if NOT %d3%==_ set D4=O& goto lose
if %c4%%d4%%e4%%f4%==_OOO if NOT %c3%==_ set C4=O& goto lose
if %c3%%d3%%e3%%f3%==OOO_ if NOT %f2%==_ set F3=O& goto lose
if %c3%%d3%%e3%%f3%==OO_O if NOT %e2%==_ set E3=O& goto lose
if %c3%%d3%%e3%%f3%==O_OO if NOT %d2%==_ set D3=O& goto lose
if %c3%%d3%%e3%%f3%==_OOO if NOT %c2%==_ set C3=O& goto lose
if %c2%%d2%%e2%%f2%==OOO_ if NOT %f1%==_ set F2=O& goto lose
if %c2%%d2%%e2%%f2%==OO_O if NOT %e1%==_ set E2=O& goto lose
if %c2%%d2%%e2%%f2%==O_OO if NOT %d1%==_ set D2=O& goto lose
if %c2%%d2%%e2%%f2%==_OOO if NOT %c1%==_ set C2=O& goto lose
if %c1%%d1%%e1%%f1%==OOO_ set F1=O& goto lose
if %c1%%d1%%e1%%f1%==OO_O set E1=O& goto lose
if %c1%%d1%%e1%%f1%==O_OO set D1=O& goto lose
if %c1%%d1%%e1%%f1%==_OOO set C1=O& goto lose
if %a1%%b2%%c3%%d4%==OOO_ if NOT %d3%==_ set d4=O& goto lose
if %a1%%b2%%c3%%d4%==OO_O if NOT %c2%==_ set C3=O& goto lose
if %a1%%b2%%c3%%d4%==O_OO if NOT %b1%==_ set B2=O& goto lose
if %a1%%b2%%c3%%d4%==_OOO set A1=O& goto lose
if %a4%%b3%%c2%%d1%==OOO_ set D1=O& goto lose
if %a4%%b3%%c2%%d1%==OO_O if NOT %c1%==_ set C2=O& goto lose
if %a4%%b3%%c2%%d1%==O_OO if NOT %b2%==_ set B3=O& goto lose
if %a4%%b3%%c2%%d1%==_OOO if NOT %a3%==_ set A4=O& goto lose
if %b1%%C2%%D3%%E4%==OOO_ if NOT %e3%==_ set E4=O& goto lose
if %b1%%C2%%D3%%E4%==OO_O if NOT %d2%==_ set D3=O& goto lose
if %b1%%C2%%D3%%E4%==O_OO if NOT %c1%==_ set C2=O& goto lose
if %b1%%C2%%D3%%E4%==_OOO set B1=O& goto lose
if %b4%%C3%%D2%%E1%==OOO_ set E1=O& goto lose
if %b4%%C3%%D2%%E1%==OO_O if NOT %d1%==_ set D2=O& goto lose
if %b4%%C3%%D2%%E1%==O_OO if NOT %c2%==_ set C3=O& goto lose
if %b4%%C3%%D2%%E1%==_OOO if NOT %b3%==_ set B4=O& goto lose
if %c1%%d2%%e3%%f4%==OOO_ if NOT %f3%==_ set F4=O& goto lose
if %c1%%d2%%e3%%f4%==OO_O if NOT %e3%==_ set E3=O& goto lose
if %c1%%d2%%e3%%f4%==O_OO if NOT %d1%==_ set D2=O& goto lose
if %c1%%d2%%e3%%f4%==_OOO set C1=O& goto lose
if %c4%%d3%%e2%%f1%==OOO_ set F1=O& goto lose
if %c4%%d3%%e2%%f1%==OO_O if NOT %e1%==_ set E2=O& goto lose
if %c4%%d3%%e2%%f1%==O_OO if NOT %d2%==_ set D3=O& goto lose
if %c4%%d3%%e2%%f1%==_OOO if NOT %c3%==_ set C4=O& goto lose
exit /b
:winlist
call :board
if %A1%%A2%%A3%%A4%==XXXX GOTO WIN
if %B1%%B2%%B3%%B4%==XXXX GOTO WIN
if %C1%%C2%%C3%%C4%==XXXX GOTO WIN
if %D1%%D2%%D3%%D4%==XXXX GOTO WIN
if %E1%%E2%%E3%%E4%==XXXX GOTO WIN
if %F1%%F2%%F3%%F4%==XXXX GOTO WIN
if %A4%%B4%%C4%%D4%==XXXX GOTO WIN
if %A3%%B3%%C3%%D3%==XXXX GOTO WIN
if %A2%%B2%%C2%%D2%==XXXX GOTO WIN
if %A1%%B1%%C1%%D1%==XXXX GOTO WIN
if %B4%%C4%%D4%%E4%==XXXX GOTO WIN
if %B3%%C3%%D3%%E3%==XXXX GOTO WIN
if %B2%%C2%%D2%%E2%==XXXX GOTO WIN
if %B1%%C1%%D1%%E1%==XXXX GOTO WIN
if %C4%%D4%%E4%%F4%==XXXX GOTO WIN
if %C3%%D3%%E3%%F3%==XXXX GOTO WIN
if %C2%%D2%%E2%%F2%==XXXX GOTO WIN
if %C1%%D1%%F1%%E1%==XXXX GOTO WIN
if %A1%%B2%%C3%%D4%==XXXX GOTO WIN
if %A4%%B3%%C2%%D1%==XXXX GOTO WIN
if %B1%%C2%%D3%%E4%==XXXX GOTO WIN
if %B4%%C3%%D2%%E1%==XXXX GOTO WIN
if %C1%%D2%%E3%%F4%==XXXX GOTO WIN
if %C4%%D3%%E2%%F1%==XXXX GOTO WIN
EXIT /B
Code: Select all
@echo off&setlocal&color 0c&mode con cols=65 lines=30
chcp 437>nul
title YAHTZEE
for /f %%i in ('"prompt $H&echo on&for %%j in (1) do rem"') do set "BS=%%i"
:again
cls
for /l %%i in (0,1,9) do echo.
echo '''''''''''''''''''
echo ,-. '' '' ,-. ,-.
echo / \_\ ,-. '' YAHTZEE In Batch '' / \_\ ,-. / \_\
echo \ / / / \_\ '' '' \ / / / \_\ \ / /
echo `-' \ / / '' aGerman '' `-' \ / / `-'
echo `-' '' '' `-'
echo '''''''''''''''''''
for /l %%i in (0,1,8) do echo.
set /p "name=%BS% Enter your name: "
if not defined name goto again
set "top=ÚÄÄÄÄÄÄÄÄÄ¿"
set "bottom=ÀÄÄÄÄÄÄÄÄÄÙ"
for %%a in ("[1,1]" "[1,2]" "[1,4]" "[1,5]" "[2,1]" "[2,3]" "[2,5]" "[3,2]" "[3,4]" "[4,1]" "[4,3]" "[4,5]" "[5,2]" "[5,4]" "[6,2]" "[6,4]") do (
set "%%~a=³ ³"
)
for %%a in ("[1,3]" "[3,3]" "[5,3]") do set "%%~a=³ @ ³"
for %%a in ("[4,2]" "[4,4]" "[6,1]" "[6,3]" "[6,5]") do set "%%~a=³ @ @ ³"
for %%a in ("[5,1]" "[5,5]") do set "%%~a=³ @ @ ³"
set "[2,2]=³ @ ³"
set "[2,4]=³ @ ³"
set "[3,1]=³ @ ³"
set "[3,5]=³ @ ³"
set "rolls=0"
for /l %%i in (1,1,13) do set "roll%%i= "
for /l %%i in (1,1,13) do set "score%%i=0"
color f1&mode con cols=65 lines=50
:start
set /a rolls+=1
set "iteration=0"
set "fixed="
for /l %%i in (1,1,5) do set "fixed%%i="
for /l %%i in (1,1,5) do set "safe%%i= "
for /l %%i in (1,1,5) do set "fix%%i=0"
call :calccard
:loop
if %iteration%==3 (
pause>nul|set /p "=%BS% Register ... "
goto register
)
set /a iteration+=1
for /l %%i in (0,1,2) do (
call :displaycard
call :process
)
if %iteration%==3 (
pause>nul|set /p "=%BS% Register ... "
goto register
) else (
call :fix
goto loop
)
:register
setlocal enabledelayedexpansion
for /l %%i in (1,1,5) do (
for /l %%j in (1,1,5) do (
if !d%%i! lss !d%%j! (
set "temp=!d%%i!"
set "d%%i=!d%%j!"
set "d%%j=!temp!"
)
)
)
endlocal&set "d1=%d1%"&set "d2=%d2%"&set "d3=%d3%"&set "d4=%d4%"&set "d5=%d5%"
:loop2
call :calccard
call :displaycard
echo.
echo Your roll was: %d1%, %d2%, %d3%, %d4%, %d5%
echo.
set "choice="
set "var1="
set "var2="
set /p "choice=%BS% Enter the category number: "
if "%choice%"=="1" (
set "var1=roll1"
set "var2=score1"
call :test1
goto forward
)
if "%choice%"=="2" (
set "var1=roll2"
set "var2=score2"
call :test2
goto forward
)
if "%choice%"=="3" (
set "var1=roll3"
set "var2=score3"
call :test3
goto forward
)
if "%choice%"=="4" (
set "var1=roll4"
set "var2=score4"
call :test4
goto forward
)
if "%choice%"=="5" (
set "var1=roll5"
set "var2=score5"
call :test5
goto forward
)
if "%choice%"=="6" (
set "var1=roll6"
set "var2=score6"
call :test6
goto forward
)
if "%choice%"=="7" (
set "var1=roll7"
set "var2=score7"
call :testThreeOAK
goto forward
)
if "%choice%"=="8" (
set "var1=roll8"
set "var2=score8"
call :testFourOAK
goto forward
)
if "%choice%"=="9" (
set "var1=roll9"
set "var2=score9"
call :testFullHouse
goto forward
)
if "%choice%"=="10" (
set "var1=roll10"
set "var2=score10"
call :testSStraight
goto forward
)
if "%choice%"=="11" (
set "var1=roll11"
set "var2=score11"
call :testLStraight
goto forward
)
if "%choice%"=="12" (
set "var1=roll12"
set "var2=score12"
call :testYahtzee
goto forward
)
if "%choice%"=="13" (
set "var1=roll13"
set "var2=score13"
call :testChance
goto forward
)
goto :loop2
:forward
set "choice="
if %return%==F (
set /p "=%BS% This category is disabled. "
goto loop2
)
if %return%==0 (
echo You'll get no score points!
set /p "choice=%BS% Are you really sure? (y/n) "
) else (
set "choice=y"
)
if /i "%choice%"=="y" (
set "%var1%=%d1%, %d2%, %d3%, %d4%, %d5%"
set "%var2%=%return%"
call :calccard
call :displaycard
) else (
goto :loop2
)
pause>nul|set /p "=%BS% Continue ... "
if %rolls% lss 13 goto start
set "xtime=%time::=.%"
>>"%~0" echo *:%grandtotal%:%date% %xtime:~,5%:%name%
echo.
echo Final Score: %grandtotal%
echo.
pause>nul|set /p "=%BS% Display Ranking ... "
cls&color 4e
for /f "delims=: tokens=1,3,4*" %%a in ('findstr /b /l /c:"*:" "%~0"^|findstr /n .') do (
set "LScore%%a=%%b"
set "LTime%%a=%%c"
set "LName%%a=%%d"
set /a n=%%a
)
setlocal enabledelayedexpansion
for /l %%i in (1,1,%n%) do (
for /l %%j in (1,1,%n%) do (
if !LScore%%i! gtr !LScore%%j! (
set "tScore=!LScore%%i!"
set "LScore%%i=!LScore%%j!"
set "LScore%%j=!tScore!"
set "tTime=!LTime%%i!"
set "LTime%%i=!LTime%%j!"
set "LTime%%j=!tTime!"
set "tName=!LName%%i!"
set "LName%%i=!LName%%j!"
set "LName%%j=!tName!"
)
)
)
(
@echo off
echo Ranking List
echo ÍÍÍÍÍÍÍÍÍÍÍÍ
echo.
echo Place Score Date / Time Name
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
for /l %%a in (1,1,%n%) do (
set "no= %%a"
call set "no=%%no:~-6%%"
call set "LScore%%a= %%LScore%%a%%"
call set "LScore%%a=%%LScore%%a:~-6%%"
call set "LTime%%a= %%LTime%%a%%"
call set "LTime%%a=%%LTime%%a:~-20%%"
call echo %%no%%. %%LScore%%a%% %%LTime%%a%% %%LName%%a%%
)
)|more
endlocal
echo.
pause>nul|set /p "=%BS% QUIT YAHTZEE ... "
goto :eof
:: ***************************** end of main **********************************
:process
if %fix1%==0 set /a d1=(%random%)%%6+1
if %fix2%==0 set /a d2=(%random%)%%6+1
if %fix3%==0 set /a d3=(%random%)%%6+1
if %fix4%==0 set /a d4=(%random%)%%6+1
if %fix5%==0 set /a d5=(%random%)%%6+1
echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo ROLL %iteration%
echo.
echo Dice 1 Dice 2 Dice 3 Dice 4 Dice 5
echo. %safe1% %safe2% %safe3% %safe4% %safe5%
echo %top% %top% %top% %top% %top%
for /l %%i in (1,1,5) do call echo %%[%d1%,%%i]%% %%[%d2%,%%i]%% %%[%d3%,%%i]%% %%[%d4%,%%i]%% %%[%d5%,%%i]%%
echo %bottom% %bottom% %bottom% %bottom% %bottom%
echo.
goto :eof
:calccard
set /a subtotal=%score1%+%score2%+%score3%+%score4%+%score5%+%score6%
if %subtotal% lss 63 (set "bonus=0") else set "bonus=35"
set /a total1=%subtotal%+%bonus%
set /a total2=%score7%+%score8%+%score9%+%score10%+%score11%+%score12%+%score13%
set /a grandtotal=%total1%+%total2%
call :addspaces "%name%" 40 r StrName
call :addspaces "%roll1%" 13 r StrRoll1
call :addspaces "%score1%" 6 l StrScore1
call :addspaces "%roll2%" 13 r StrRoll2
call :addspaces "%score2%" 6 l StrScore2
call :addspaces "%roll3%" 13 r StrRoll3
call :addspaces "%score3%" 6 l StrScore3
call :addspaces "%roll4%" 13 r StrRoll4
call :addspaces "%score4%" 6 l StrScore4
call :addspaces "%roll5%" 13 r StrRoll5
call :addspaces "%score5%" 6 l StrScore5
call :addspaces "%roll6%" 13 r StrRoll6
call :addspaces "%score6%" 6 l StrScore6
call :addspaces "%roll7%" 13 r StrRoll7
call :addspaces "%score7%" 6 l StrScore7
call :addspaces "%roll8%" 13 r StrRoll8
call :addspaces "%score8%" 6 l StrScore8
call :addspaces "%roll9%" 13 r StrRoll9
call :addspaces "%score9%" 6 l StrScore9
call :addspaces "%roll10%" 13 r StrRoll10
call :addspaces "%score10%" 6 l StrScore10
call :addspaces "%roll11%" 13 r StrRoll11
call :addspaces "%score11%" 6 l StrScore11
call :addspaces "%roll12%" 13 r StrRoll12
call :addspaces "%score12%" 6 l StrScore12
call :addspaces "%roll13%" 13 r StrRoll13
call :addspaces "%score13%" 6 l StrScore13
call :addspaces "%subtotal%" 6 l StrSubtotal
call :addspaces "%bonus%" 6 l StrBonus
call :addspaces "%total1%" 6 l StrTotal1
call :addspaces "%total2%" 6 l StrTotal2
call :addspaces "%grandtotal%" 6 l StrGrandtotal
goto :eof
:displaycard
cls
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³Name: %StrName% ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
echo ÃÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ´
echo ³ No.³ Category: ³ Roll: ³ Score: ³
echo ÃÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
echo ³ 1 ³ Ones: ³ %StrRoll1% ³ %StrScore1% ³
echo ³ 2 ³ Twos: ³ %StrRoll2% ³ %StrScore2% ³
echo ³ 3 ³ Threes: ³ %StrRoll3% ³ %StrScore3% ³
echo ³ 4 ³ Fours: ³ %StrRoll4% ³ %StrScore4% ³
echo ³ 5 ³ Fives: ³ %StrRoll5% ³ %StrScore5% ³
echo ³ 6 ³ Sixes: ³ %StrRoll6% ³ %StrScore6% ³
echo ÃÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
echo ³ -------------------------- SUBTOTAL: ³ %StrSubtotal% ³
echo ³ ----------------------------- BONUS: ³ %StrBonus% ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
echo ³ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ TOTAL 1: ³ %StrTotal1% ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄ´
echo ÃÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ´
echo ³ 7 ³ 3 Of A Kind: ³ %StrRoll7% ³ %StrScore7% ³
echo ³ 8 ³ 4 Of A Kind: ³ %StrRoll8% ³ %StrScore8% ³
echo ³ 9 ³ Full House: ³ %StrRoll9% ³ %StrScore9% ³
echo ³ 10 ³ Small Straight: ³ %StrRoll10% ³ %StrScore10% ³
echo ³ 11 ³ Large Straight: ³ %StrRoll11% ³ %StrScore11% ³
echo ³ 12 ³ Yahtzee: ³ %StrRoll12% ³ %StrScore12% ³
echo ³ 13 ³ Chance: ³ %StrRoll13% ³ %StrScore13% ³
echo ÃÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
echo ³ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ TOTAL 2: ³ %StrTotal2% ³
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄ´
echo ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ´
echo ³ ³ ³
echo ³ *********************** GRAND TOTAL: ³ %StrGrandtotal% ³
echo ³ ³ ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ
goto :eof
:fix
set /p "fixed=%BS% Enter the dices you want to save (1,2,3,4,5): "
if not defined fixed goto :eof
set fixed=%fixed: =%
if not defined fixed goto :eof
set fixed=%fixed:,=%
if not defined fixed goto :eof
set "fixed1=%fixed:~,1%
set "fixed2=%fixed:~1,1%
set "fixed3=%fixed:~2,1%
set "fixed4=%fixed:~3,1%
set "fixed5=%fixed:~4,1%
if defined fixed1 (set "fix%fixed1%=1"&set "safe%fixed1%=SAFE")
if defined fixed2 (set "fix%fixed2%=1"&set "safe%fixed2%=SAFE")
if defined fixed3 (set "fix%fixed3%=1"&set "safe%fixed3%=SAFE")
if defined fixed4 (set "fix%fixed4%=1"&set "safe%fixed4%=SAFE")
if defined fixed5 (set "fix%fixed5%=1"&set "safe%fixed5%=SAFE")
set /a fixsum=%fix1%+%fix2%+%fix3%+%fix4%+%fix5%
if %fixsum%==5 set /a iteration=3
goto :eof
:test1
if "%roll1%" neq " " (set "return=F"&goto :eof)
setlocal enabledelayedexpansion
set /a one=0
for /l %%i in (1,1,5) do (
if !d%%i!==1 set /a one+=1
)
endlocal&set "return=%one%"
goto :eof
:test2
if "%roll2%" neq " " (set "return=F"&goto :eof)
setlocal enabledelayedexpansion
set /a two=0
for /l %%i in (1,1,5) do (
if !d%%i!==2 set /a two+=2
)
endlocal&set "return=%two%"
goto :eof
:test3
if "%roll3%" neq " " (set "return=F"&goto :eof)
setlocal enabledelayedexpansion
set /a three=0
for /l %%i in (1,1,5) do (
if !d%%i!==3 set /a three+=3
)
endlocal&set "return=%three%"
goto :eof
:test4
if "%roll4%" neq " " (set "return=F"&goto :eof)
setlocal enabledelayedexpansion
set /a four=0
for /l %%i in (1,1,5) do (
if !d%%i!==4 set /a four+=4
)
endlocal&set "return=%four%"
goto :eof
:test5
if "%roll5%" neq " " (set "return=F"&goto :eof)
setlocal enabledelayedexpansion
set /a five=0
for /l %%i in (1,1,5) do (
if !d%%i!==5 set /a five+=5
)
endlocal&set "return=%five%"
goto :eof
:test6
if "%roll6%" neq " " (set "return=F"&goto :eof)
setlocal enabledelayedexpansion
set /a six=0
for /l %%i in (1,1,5) do (
if !d%%i!==6 set /a six+=6
)
endlocal&set "return=%six%"
goto :eof
:testThreeOAK
if "%roll7%" neq " " (set "return=F"&goto :eof)
setlocal
set /a ThreeOAK=0
for /l %%i in (1,1,6) do (
echo %d1%%d2%%d3%%d4%%d5%|findstr /c:"%%i%%i%%i">nul&&set /a ThreeOAK=%d1%+%d2%+%d3%+%d4%+%d5%
)
endlocal&set "return=%ThreeOAK%"
goto :eof
:testFourOAK
if "%roll8%" neq " " (set "return=F"&goto :eof)
setlocal
set /a FourOAK=0
for /l %%i in (1,1,6) do (
echo %d1%%d2%%d3%%d4%%d5%|findstr /c:"%%i%%i%%i%%i">nul&&set /a FourOAK=%d1%+%d2%+%d3%+%d4%+%d5%
)
endlocal&set "return=%FourOAK%"
goto :eof
:testFullHouse
if "%roll9%" neq " " (set "return=F"&goto :eof)
setlocal
set /a FullHouse=0
for /l %%i in (1,1,6) do (
for /l %%j in (%%i,1,6) do (
echo %d1%%d2%%d3%%d4%%d5%|findstr "%%i%%i%%i%%j%%j %%i%%i%%j%%j%%j">nul&&(
endlocal
set "return=25"
goto :eof
)
)
)
endlocal&set "return=%FullHouse%"
goto :eof
:testSStraight
if "%roll10%" neq " " (set "return=F"&goto :eof)
setlocal enabledelayedexpansion
set /a SStraight=0
set "test=%d1%%d2%%d3%%d4%%d5%"
for /l %%i in (1,1,6) do (
set "test=!test:%%i%%i=%%i!"
)
echo %test%|findstr "1234 2345 3456">nul&&set /a SStraight=30
endlocal&set "return=%SStraight%"
goto :eof
:testLStraight
if "%roll11%" neq " " (set "return=F"&goto :eof)
setlocal
set /a LStraight=0
echo %d1%%d2%%d3%%d4%%d5%|findstr "12345 23456">nul&&set /a LStraight=40
endlocal&set "return=%LStraight%"
goto :eof
:testYahtzee
if "%roll12%" neq " " (set "return=F"&goto :eof)
setlocal
set /a Yahtzee=0
for /l %%i in (1,1,6) do (
echo %d1%%d2%%d3%%d4%%d5%|findstr /c:"%%i%%i%%i%%i%%i">nul&&set /a Yahtzee=60
)
endlocal&set "return=%Yahtzee%"
goto :eof
:testChance
if "%roll13%" neq " " (set "return=F"&goto :eof)
set /a return=%d1%+%d2%+%d3%+%d4%+%d5%
goto :eof
:addspaces
setlocal
set "spaces= "
if "%~3"=="r" (
set "string=%~1%spaces%"
call set "string=%%string:~,%~2%%
) else (
set "string=%spaces%%~1"
call set "string=%%string:~-%~2%%
)
endlocal&set "%~4=%string%"
goto :eof
Code: Select all
@Echo off
@title Tetris v 1
@mode con cols=28 lines=24
:: Batch Game - Tetris v 1
:: Proof Of Concept
:: Coded by SmartGenius
:: SmartGenius, Corp. 2010
Choice /N /T:Y,1 >Nul 2>&1
If "%Errorlevel%"=="9009" (Echo. CHOICE command not found&Pause&Exit)
Set "Game=%0"
Call :Logo
:Menu
Cls
Echo.
Echo.
Echo. Tetris v 1 by SmartGenius
Echo. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Echo. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo. ³1.³ ³Play TETRIS ³
Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo. ³2.³ ³How to Play ³
Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo. ÚÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
Echo. ³3.³ ³Exit Game ³
Echo. ÀÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
Echo.
CHOICE /C:123 /N >nul
If "%errorlevel%"=="1" (Goto :Load)
If "%errorlevel%"=="2" (Goto :Help)
If "%errorlevel%"=="3" (Goto :End)
Goto :Menu
:Load
Setlocal enabledelayedexpansion
Set /a "LimX=18","LimY=16","TBound=1","LBound=0","Turn=1","Points=0"
Set /a "RBound=%LimX%","BBound=%LimY%"
:Init
For /l %%a in (0,1,%LimX%) do (
For /l %%b in (0,1,%LimY%) do (
Set "X%%aY%%b= "))
Set "Bound=Û"
Set "Bound2=²"
:Main
Set /a "L=(%Random% %% 7)+1"
Call :Figure%L%
Call :Graphic
Goto :Main
:Graphic
If "%New_F%"=="True" (
Call :Solid
Set "New_F=False"
Goto :Eof
)
Call :Clear
Cls
Echo.
Echo. Tetris v 1 by SmartGenius
Echo.
Echo. Points:%Points%
Echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
For /l %%f in (0,1,%LimY%) do (Echo. º!Lin_%%f!º)
Echo. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Call :Move
Goto :Graphic
:Move
:: Normal CHOICE (provided into ZIP package)
CHOICE /C:SADRXC /N >nul
:: Windows 7 or x64 system CHOICE (uncomment)
REM CHOICE /C SADRXC /N
If "%errorlevel%"=="1" (Call :Down)
If "%errorlevel%"=="2" (Call :Left)
If "%errorlevel%"=="3" (Call :Rigth)
If "%errorlevel%"=="4" (Call :Rotate)
If "%errorlevel%"=="5" (Goto :Menu)
If "%errorlevel%"=="6" (Call :MovCR)
::Descomentar para doble movimiento
REM Call :Down
Call :CheckL2
Goto :Eof
::::::::::::::::::::::::::::::::::::::::
:Solid
For %%a in (%Table%) do (Set "%%a=%Bound2%")
Goto :Eof
:Rotate
Set "TmpTB="
If "%XToken%"=="11" (Set "XToken=10")
If "%YToken%"=="15" (Set "XToken=14")
Set /a "NextRotate=(%RotateLevel% %% 4)+1"
Set "TmpTable=!Figure%CurFig%_Pos%NextRotate%!
For %%R in (%TmpTable%) do (
Call :MovR "%YToken%" "%XToken%" "%%R" "Val"
Call Set "TmpTB=!TmpTB!,!Val!"
)
For %%c in (%TmpTB:~1%) do (
If "!%%c!"=="%Bound2%" (
For %%b in (%Table%) do (Set "%%b=%Bound%")
Goto :Eof
))
For %%a in (%Table%) do (Set "%%a= ")
Set "Table=%TmpTB:~1%"
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "RotateLevel+=1"
Goto :Eof
:MovR
For /f "tokens=1,2 delims=X,Y" %%p in ("%~3") do (
Set /a MovY=%%q+%~1
Set /a MovX=%%p+%~2
Set "%~4=X!MovX!Y!MovY!"
Set "%~3= ")
Goto :Eof
:::::::::::::::::::::::::::::::::::::::::::
:Down
Set "TmpTB="
Set "TmpTable=%Table%"
For %%a in (%TmpTable%) do (
Echo.!TmpTable!|Find "Y%BBound%">nul
If !Errorlevel! EQU 0 (Set "New_F=True"&Goto :Eof)
Call :MovYR "1" "%%a" "Val"
Call Set "TmpTB=!TmpTB!,!Val!"
)
For %%c in (%TmpTB:~1%) do (
If "!%%c!"=="%Bound2%" (
Set "New_F=True"
For %%b in (%Table%) do (Set "%%b=%Bound%")
Goto :Eof
))
Set "Table=%TmpTB:~1%"
For %%d in (%Table%) do (Set "%%d=%Bound%")
Set /a "YToken+=1"
Goto :Eof
:MovYR
For /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (
Set /a MovY=%%q+%~1
Set "%~3=X%%pY!MovY!"
Set "%~2= ")
Goto :Eof
:MovCR
Cls
Echo.
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_Var
Echo. !Tmp_Var!
)
Pause >nul
Goto :Eof
::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::
:Rigth
Set "TmpTB="
Set "TmpTable=%Table%"
For %%a in (%TmpTable%) do (
Echo.!TmpTable!|Find "X%RBound%">nul
If !Errorlevel! EQU 0 (Goto :Eof)
Call :MovXR "+1" "%%a" "Val"
Call Set "TmpTB=!TmpTB!,!Val!"
)
For %%c in (%TmpTB:~1%) do (
If "!%%c!"=="%Bound2%" (
For %%b in (%Table%) do (Set "%%b=%Bound%")
Goto :Eof
))
Set "Table=%TmpTB:~1%"
For %%d in (%Table%) do (Set "%%d=%Bound%")
Set /a "XToken+=1"
Goto :Eof
:Left
Set "TmpTB="
Set "TmpTable=%Table%"
For %%a in (%TmpTable%) do (
Echo.!TmpTable!|Find "X%LBound%">nul
If !Errorlevel! EQU 0 (Goto :Eof)
Call :MovXR "-1" "%%a" "Val"
Call Set "TmpTB=!TmpTB!,!Val!"
)
For %%c in (%TmpTB:~1%) do (
If "!%%c!"=="%Bound2%" (
For %%b in (%Table%) do (Set "%%b=%Bound%")
Goto :Eof
))
Set "Table=%TmpTB:~1%"
For %%d in (%Table%) do (Set "%%d=%Bound%")
Set /a "XToken-=1"
Goto :Eof
:MovXR
For /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (
Set /a MovX=%%p%~1
Set "%~3=X!MovX!Y%%q"
Set "%~2= ")
Goto :Eof
::::::::::::::::::::::::::::::::::::::::
:CheckL2
If "!Lin_1!"=="²²²²²²²²²²²²²²²²²²²" (Goto :Lost)
If "!Lin_%LimY%!"=="²²²²²²²²²²²²²²²²²²²" (
Call :Clear
For /l %%x in (0,1,%LimX%) do (
For /l %%y in (%LimY%,-1,1) do (
Set /a "UpLine=%%y-1"
Call Set "X%%xY%%y=%%X%%xY!UpLine!%%"
))
Set /a "Points+=100"
For /l %%d in (0,1,%LimX%) do (Set "X%%dY0= ")
Goto :CheckL2
)
Goto :Eof
:::::::::::::::::::::::::::::::::::::::::
:Key.A
If not defined %1 Goto:Eof
Set "c="
Set "d=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =/\()[]{}_-.:,;* @#"
:Key.B
Set "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.B
Set "%1=!c!"
Goto :Eof
:::::::::::::::::::::::::::::::::::::::::
:Clear
For /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
:Lost
Cls
Echo.
Echo. Tetris v 1 by SmartGenius
Echo.
Echo. Points:%Points%
Echo. Perdiste !
Goto :End
:Win
Cls
Echo.
Echo. Tetris v 1 by SmartGenius
Echo.
Echo. Points:%Points%
Echo. Has Ganado !
Goto :End
:End
Echo. Gracias por Jugar
Echo. Tetris v1 by SmartGenius
Endlocal
Ping -n 3 localhost >nul
Exit
::::::::::::::::::::::::::::::::::::::::::
:Figure1
Set Figure1_Pos1=X6Y2,X6Y1,X7Y1,X7Y0
Set Figure1_Pos2=X7Y1,X8Y1,X6Y0,X7Y0
Set Figure1_Pos3=X6Y2,X6Y1,X7Y1,X7Y0
Set Figure1_Pos4=X7Y1,X8Y1,X6Y0,X7Y0
Set /a "R=(%Random% %% 4)+1"
Set Table=!Figure1_Pos%R%!
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "XToken=0","YToken=0","CurFig=1","RotateLevel=%R%"
Goto :Eof
:Figure2
Set Figure2_Pos1=X7Y2,X6Y1,X7Y1,X6Y0
Set Figure2_Pos2=X6Y1,X7Y1,X7Y0,X8Y0
Set Figure2_Pos3=X7Y2,X6Y1,X7Y1,X6Y0
Set Figure2_Pos4=X6Y1,X7Y1,X7Y0,X8Y0
Set /a "R=(%Random% %% 4)+1"
Set Table=!Figure2_Pos%R%!
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "XToken=0","YToken=0","CurFig=2","RotateLevel=%R%"
Goto :Eof
:Figure3
Set Figure3_Pos1=X7Y1,X8Y1,X7Y0,X8Y0
Set Figure3_Pos2=X7Y1,X8Y1,X7Y0,X8Y0
Set Figure3_Pos3=X7Y1,X8Y1,X7Y0,X8Y0
Set Figure3_Pos4=X7Y1,X8Y1,X7Y0,X8Y0
Set /a "R=(%Random% %% 4)+1"
Set "Table=!Figure3_Pos%R%!"
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "XToken=0","YToken=0","CurFig=3","RotateLevel=%R%"
Goto :Eof
:Figure4
Set Figure4_Pos1=X6Y1,X7Y1,X8Y1
Set Figure4_Pos2=X7Y2,X7Y1,X7Y0
Set Figure4_Pos3=X6Y1,X7Y1,X8Y1
Set Figure4_Pos4=X7Y2,X7Y1,X7Y0
Set /a "R=(%Random% %% 4)+1"
Set Table=!Figure4_Pos%R%!
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "XToken=0","YToken=0","CurFig=4","RotateLevel=%R%"
Goto :Eof
:Figure5
Set Figure5_Pos1=X6Y1,X7Y1,X8Y1,X7Y0
Set Figure5_Pos2=X7Y2,X7Y1,X8Y1,X7Y0
Set Figure5_Pos3=X7Y1,X6Y0,X7Y0,X8Y0
Set Figure5_Pos4=X8Y2,X7Y1,X8Y1,X8Y0
Set /a "R=(%Random% %% 4)+1"
Set Table=!Figure5_Pos%R%!
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "XToken=0","YToken=0","CurFig=5","RotateLevel=%R%"
Goto :Eof
:Figure6
Set Figure6_Pos1=X6Y1,X6Y0,X7Y0,X8Y0
Set Figure6_Pos2=X8Y2,X8Y1,X8Y0,X7Y0
Set Figure6_Pos3=X6Y1,X7Y1,X8Y1,X8Y0
Set Figure6_Pos4=X6Y2,X7Y2,X6Y1,X6Y0
Set /a "R=(%Random% %% 4)+1"
Set Table=!Figure6_Pos%R%!
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "XToken=0","YToken=0","CurFig=6","RotateLevel=%R%"
Goto :Eof
:Figure7
Set Figure7_Pos1=X8Y1,X6Y0,X7Y0,X8Y0
Set Figure7_Pos2=X7Y2,X8Y2,X8Y1,X8Y0
Set Figure7_Pos3=X6Y1,X7Y1,X8Y1,X6Y0
Set Figure7_Pos4=X6Y2,X6Y1,X6Y0,X7Y0
Set /a "R=(%Random% %% 4)+1"
Set Table=!Figure7_Pos%R%!
For %%b in (%Table%) do (Set "%%b=%Bound%")
Set /a "XToken=0","YToken=0","CurFig=7","RotateLevel=%R%"
Goto :Eof
::_0 xx9tYjYxWvxPrXmoLjqfzpxx
::_0 xxxxxXhXxLBINRPFGBaxxxxxx
::_0 xxxxxxxxxxxxxxxxxxxxxxxxx
::_0 xxxxx8jYfZXojYxOtxJvxxxxx
::_0 EjXzofizgxLfmgimfjqYx9GVJ
::_0 xxxJvx8XmgfqlxNxGtyjxRxxx
::_0 xxxxxxxxxxxxxxxxxxxxxxxxx
::_0 xPrXmoLjqfzpx9tms-x7545xxx
:Help
Cls
Echo.
Call :L2 "Goto :Eof"
Echo.
Echo. How to Play Batch Tetris ?
Echo.
Echo. Use keys A,S,D,R,X
Echo.
Echo. A = Move Shape Left
Echo. S = Move Shape Down
Echo. D = Move Shape Rigth
Echo. R = Rotate Shape
Echo. X = Back to Menu Game
Echo.
Echo.
Pause >nul
Goto :Menu
:Logo
Cls
Color 0b
Echo.
Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
:L2
Echo. °°ÛÛÛ°ÛÛÛ°ÛÛÛ°ÛÛ°°Û°°ÛÛ°°°
Echo. °°°Û°°Û°°°°Û°°Û°Û°Û°Û°°°°°
Echo. °°°Û°°ÛÛÛ°°Û°°ÛÛ°°Û°°Û°°°°
Echo. °°°Û°°Û°°°°Û°°Û°Û°Û°°°Û°°°
Echo. °°°Û°°ÛÛÛ°°Û°°Û°Û°Û°ÛÛ°°°°
%~1
Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
Echo. °°±°°°°°°°°°²°°°°°°°°°°±°°
Echo. °°±°²°°°²²°°²²°°°²²²°°°±°°
Echo. °°±°²²°°°²°°²°°°°°°°°°°±°°
Echo. °°±°°²°°°²°°°°°°²²°°°°°±°°
Echo. °°±°°°°°°°°°°°°°°²²°°°°±°°
Echo. °°±°°°°°°°°²°°°°°°°°°°°±°°
Echo. °°±²°°°°°°°²²²°°°°°°°°°±°°
Echo. °°±²°°²²°°°°°°°²°°°°°°²±°°
Echo. °°±²°°²²°°°°°°²²²°°°²²²±°°
Echo. °°±±±±±±±±±±±±±±±±±±±±±±°°
Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
Echo. °°°°°: SmartGenius :°°°°°°
Echo. °°°°° Corp. 2010 °°°°°°
Echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
Ping -n 3 0.0.0.0 >nul
Goto :Eof
SmartGenius wrote:I have created a Pastebin account just for sharing codes with you, you can see there some of my Old creations in the Batch Game world like Pacman, sokoban, arkanoid, naval battle, minesweeper, space invaders, Pong, F1 Cars, Memory, Labyrint...Etc.
Get Codes here -->> http://pastebin.com/u/SmartGenius
Also see Youtube channel with videos of all the Batch Games and some other stuff -->> http://www.youtube.com/user/GENIUSALEX
Hope you don't mind, I made a few changes and added some code. Now it's a clickable text messagebox game with speech prompts. I wasn't sure it had a name so I call it '4 Get It?' I kept the underlying game code logic as it was. This may be a novel approach to the problem of using a mouse in a batch program. It needs a few supporting programs to run:
Code: Select all
@echo off
setlocal EnableDelayedExpansion
set PATH=%PATH%;%~dp0
Speak-x64.exe -t "4 .. get it"
call :calibrate
:s
set a1=..&set a2=..&set a3=..&set a4=..&set b1=..&set b2=..&set b3=..&set b4=..&set c1=..&set c2=..&set c3=..&set c4=..
set d3=..&set d4=..&set e1=..&set e2=..&set e3=..&set e4=..&set f1=..&set f2=..&set f3=..&set f4=..&set d1=..&set d2=..
set moves=0&set AC=1&set BC=1&set CC=1&set DC=1&set FC=1&set EC=1
Taskkill.exe /F /IM WinMsg.exe
call :board
:start
call :player
call :winlist
goto :computer
:AFTER
Taskkill.exe /F /IM WinMsg.exe
set /a moves= %moves% + 1
if %moves%==12 goto tie
goto START
:player
Taskkill.exe /F /IM WinMsg.exe
call :board
Speak-x64.exe -t "GO"
call :TextBoxMonitor
if %P1%==1 set P1=A
if %P1%==2 set P1=B
if %P1%==3 set P1=C
if %P1%==4 set P1=D
if %P1%==5 set P1=E
if %P1%==6 set P1=F
if /i %p1%%AC%==A1 set A1=X&Set /a AC= %AC%+1&exit /B
if /i %p1%%AC%==A2 set A2=X&Set /a AC= %AC%+1&exit /B
if /i %p1%%AC%==A3 set A3=X&Set /a AC= %AC%+1&exit /B
if /i %p1%%AC%==A4 set A4=X&Set /a AC= %AC%+1&exit /B
if /i %p1%%BC%==B1 set B1=X&set /a BC= %BC%+1&exit /B
if /i %p1%%BC%==B2 set B2=X&set /a BC= %BC%+1&exit /B
if /i %p1%%BC%==B3 set B3=X&set /a BC= %BC%+1&exit /B
if /i %p1%%BC%==B4 set B4=X&set /a BC= %BC%+1&exit /B
if /i %p1%%CC%==C1 set C1=X&set /a CC= %CC%+1&exit /B
if /i %p1%%CC%==C2 set C2=X&set /a CC= %CC%+1&exit /B
if /i %p1%%CC%==C3 set C3=X&set /a CC= %CC%+1&exit /B
if /i %p1%%CC%==C4 set C4=X&set /a CC= %CC%+1&exit /B
if /i %p1%%DC%==D1 set D1=X&set /a DC= %DC%+1&exit /B
if /i %p1%%DC%==D2 set D2=X&set /a DC= %DC%+1&exit /B
if /i %p1%%DC%==D3 set D3=X&set /a DC= %DC%+1&exit /B
if /i %p1%%DC%==D4 set D4=X&set /a DC= %DC%+1&exit /B
if /i %p1%%EC%==E1 set E1=X&set /a EC= %EC%+1&exit /B
if /i %p1%%EC%==E2 set E2=X&set /a EC= %EC%+1&exit /B
if /i %p1%%EC%==E3 set E3=X&set /a EC= %EC%+1&exit /B
if /i %p1%%EC%==E4 set E4=X&set /a EC= %EC%+1&exit /B
if /i %p1%%FC%==F1 set F1=X&set /a FC= %FC%+1&exit /B
if /i %p1%%FC%==F2 set F2=X&set /a FC= %FC%+1&exit /B
if /i %p1%%FC%==F3 set F3=X&set /a FC= %FC%+1&exit /B
if /i %p1%%FC%==F4 set F4=X&set /a FC= %FC%+1&exit /B
goto START
:computer
ping -n 2 0.0.0.0
Taskkill.exe /F /IM WinMsg.exe
CALL :ATTACKER
CALL :DEFENDER
:randomerror
set /a N=%random% %% 6
IF %N%%AC%==05 goto randomerror
IF %N%%BC%==15 goto randomerror
IF %N%%CC%==25 goto randomerror
IF %N%%DC%==35 goto randomerror
IF %N%%EC%==45 goto randomerror
IF %N%%FC%==55 goto randomerror
IF %N%==0 SET A%AC%=0&SET /A AC= %AC%+1
IF %N%==1 SET B%BC%=0&SET /A BC= %BC%+1
IF %N%==2 SET C%CC%=0&SET /A CC= %CC%+1
IF %N%==3 SET D%DC%=0&SET /A DC= %DC%+1
IF %N%==4 SET E%EC%=0&SET /A EC= %EC%+1
IF %N%==5 SET F%FC%=0&SET /A FC= %FC%+1
call :board
goto AFTER
:lose
Speak-x64.exe -t "i won"
set message="\n I WON\n\n It's OK to quit"
WinMsg.exe -t "4get it? Game" -m %message% -c OK,SystemModal -w 3
if %errorlevel%==1 goto :Goodbye
call :board
goto s
:tie
Speak-x64.exe -t "we tied"
set message="\n WE TIED\n\n It's OK to quit"
WinMsg.exe -t "4get it? Game" -m %message% -c OK,SystemModal -w 3
if %errorlevel%==1 goto :Goodbye
call :board
goto s
:win
Speak-x64.exe -t "you won"
set message="\n YOU WON\n\n It's OK to quit"
WinMsg.exe -t "4get it? Game" -m %message% -c OK,SystemModal -w 3
if %errorlevel%==1 goto :Goodbye
call :board
goto s
:board
set message=" YOUR TURN\n click a column\n\n %A4% %B4% %C4% %D4% %E4% %F4%\n %A3% %B3% %C3% %D3% %E3% %F3%\n %A2% %B2% %C2% %D2% %E2% %F2%\n %A1% %B1% %C1% %D1% %E1% %F1%"
call start WinMsg.exe -t "4get it? Game" -m %message% -c SystemModal
if %errorlevel%==1 goto :Goodbye
exit /b
:defender
if %A1%%A2%%A3%%A4%==XXX.. set A4=0&set /a AC= %AC%+1& goto AFTER
if %A1%%A2%%A3%%A4%==XX..X set A3=0&set /a AC= %AC%+1& goto AFTER
if %A1%%A2%%A3%%A4%==X..XX set A2=0&set /a AC= %AC%+1& goto AFTER
if %A1%%A2%%A3%%A4%==..XXX set A1=0&set /a AC= %AC%+1& goto AFTER
if %B1%%B2%%B3%%B4%==XXX.. set B4=0&set /a BC= %BC%+1& goto AFTER
if %B1%%B2%%B3%%B4%==XX..X set B3=0&set /a BC= %BC%+1& goto AFTER
if %B1%%B2%%B3%%B4%==X..XX set B2=0&set /a BC= %BC%+1& goto AFTER
if %B1%%B2%%B3%%B4%==..XXX set B1=0&set /a BC= %BC%+1& goto AFTER
if %C1%%C2%%C3%%C4%==XXX.. set C4=0&set /a CC= %CC%+1& goto AFTER
if %C1%%C2%%C3%%C4%==XX..X set C3=0&set /a CC= %CC%+1& goto AFTER
if %C1%%C2%%C3%%C4%==X..XX set C2=0&set /a CC= %CC%+1& goto AFTER
if %C1%%C2%%C3%%C4%==..XXX set C1=0&set /a CC= %CC%+1& goto AFTER
if %D1%%D2%%D3%%D4%==XXX.. set D4=0&set /a DC= %DC%+1& goto AFTER
if %D1%%D2%%D3%%D4%==XX..X set D3=0&set /a DC= %DC%+1& goto AFTER
if %D1%%D2%%D3%%D4%==X..XX set D2=0&set /a DC= %DC%+1& goto AFTER
if %D1%%D2%%D3%%D4%==..XXX set D1=0&set /a DC= %DC%+1& goto AFTER
if %E1%%E2%%E3%%E4%==XXX.. set E4=0&set /a EC= %EC%+1& goto AFTER
if %E1%%E2%%E3%%E4%==XX..X set E3=0&set /a EC= %EC%+1& goto AFTER
if %E1%%E2%%E3%%E4%==X..XX set E2=0&set /a EC= %EC%+1& goto AFTER
if %E1%%E2%%E3%%E4%==..XXX set E1=0&set /a EC= %EC%+1& goto AFTER
if %F1%%F2%%F3%%F4%==XXX.. set F4=0&set /a FC= %FC%+1& goto AFTER
if %F1%%F2%%F3%%F4%==XX..X set F3=0&set /a FC= %FC%+1& goto AFTER
if %F1%%F2%%F3%%F4%==X..XX set F2=0&set /a FC= %FC%+1& goto AFTER
if %F1%%F2%%F3%%F4%==..XXX set F1=0&set /a FC= %FC%+1& goto AFTER
if %A4%%b4%%c4%%d4%==XXX.. if not %d3%==.. set d4=0&Set /a DC= %DC%+1& goto AFTER
if %A4%%b4%%c4%%d4%==XX..X if not %d3%==.. set c4=0&set /a CC= %CC%+1& goto AFTER
if %A4%%b4%%c4%%d4%==X..XX if not %d3%==.. set b4=0&set /a BC= %BC%+1& goto AFTER
if %A4%%b4%%c4%%d4%==..XXX if not %d3%==.. set A4=0&set /a AC= %AC%+1& goto AFTER
if %A3%%b3%%c3%%d3%==XXX.. if not %d2%==.. set d3=0&set /a DC= %DC%+1& goto AFTER
if %A3%%b3%%c3%%d3%==XX..X if not %c2%==.. set c3=0&set /a CC= %CC%+1& goto AFTER
if %A3%%b3%%c3%%d3%==X..XX if not %b2%==.. set b3=0&set /a BC= %BC%+1& goto AFTER
if %A3%%b3%%c3%%d3%==..XXX if not %a2%==.. set A3=0&set /a AC= %AC%+1& goto AFTER
if %A2%%b2%%c2%%d2%==XXX.. if not %d1%==.. set d2=0&set /a DC= %DC%+1& goto AFTER
if %A2%%b2%%c2%%d2%==XX..X if not %c1%==.. set c2=0&set /a CC= %CC%+1& goto AFTER
if %A2%%b2%%c2%%d2%==X..XX if not %b1%==.. set b2=0&set /a BC= %BC%+1& goto AFTER
if %A2%%b2%%c2%%d2%==..XXX if not %a1%==.. set A2=0&set /a AC= %AC%+1& goto AFTER
if %A1%%b1%%c1%%d1%==XXX.. set d1=0&set /a DC= %DC%+1& goto AFTER
if %A1%%b1%%c1%%d1%==XX..X set c1=0&set /a CC= %CC%+1& goto AFTER
if %A1%%b1%%c1%%d1%==X..XX set b1=0&set /a BC= %BC%+1& goto AFTER
if %A1%%b1%%c1%%d1%==..XXX set A1=0&set /a AC= %AC%+1& goto AFTER
if %b4%%c4%%d4%%e4%==XXX.. if not %e3%==.. set e3=0&set /a EC= %EC%+1& goto AFTER
if %b4%%c4%%d4%%e4%==XX..X if not %d3%==.. set d3=0&set /a DC= %DC%+1& goto AFTER
if %b4%%c4%%d4%%e4%==X..XX if not %c3%==.. set c3=0&set /a CC= %CC%+1& goto AFTER
if %b4%%c4%%d4%%e4%==..XXX if not %b3%==.. set b3=0&set /a BC= %BC%+1& goto AFTER
if %b3%%c3%%d3%%e3%==XXX.. if not %e2%==.. set e2=0&set /a EC= %EC%+1& goto AFTER
if %b3%%c3%%d3%%e3%==XX..X if not %d2%==.. set d2=0&set /a DC= %DC%+1& goto AFTER
if %b3%%c3%%d3%%e3%==X..XX if not %c2%==.. set c3=0&set /a CC= %CC%+1& goto AFTER
if %b3%%c3%%d3%%e3%==..XXX if not %b2%==.. set b3=0&set /a BC= %BC%+1& goto AFTER
if %b2%%c2%%d2%%e2%==XXX.. if not %e1%==.. set e2=0&set /a EC= %EC%+1& goto AFTER
if %b2%%c2%%d2%%e2%==XX..X if not %d1%==.. set d2=0&set /a DC= %DC%+1& goto AFTER
if %b2%%c2%%d2%%e2%==X..XX if not %c1%==.. set c2=0&set /a CC= %CC%+1& goto AFTER
if %b2%%c2%%d2%%e2%==..XXX if not %b1%==.. set b2=0&set /a BC= %BC%+1& goto AFTER
if %b1%%c1%%d1%%e1%==XXX.. set e1=0&set /a EC= %EC%+1& goto AFTER
if %b1%%c1%%d1%%e1%==XX..X set d1=0&set /a DC= %DC%+1& goto AFTER
if %b1%%c1%%d1%%e1%==X..XX set c1=0&set /a CC= %CC%+1& goto AFTER
if %b1%%c1%%d1%%e1%==..XXX set b1=0&set /a BC= %BC%+1& goto AFTER
if %c4%%d4%%e4%%f4%==XXX.. if not %f3%==.. set F4=0&set /a FC= %FC%+1& goto AFTER
if %c4%%d4%%e4%%f4%==XX..X if not %e3%==.. set E4=0&set /a EC= %EC%+1& goto AFTER
if %c4%%d4%%e4%%f4%==X..XX if not %d3%==.. set D4=0&set /a DC= %DC%+1& goto AFTER
if %c4%%d4%%e4%%f4%==..XXX if not %c3%==.. set C4=0&set /a CC= %CC%+1& goto AFTER
if %c3%%d3%%e3%%f3%==XXX.. if not %f2%==.. set F3=0&set /a FC= %FC%+1& goto AFTER
if %c3%%d3%%e3%%f3%==XX..X if not %e2%==.. set E3=0&set /a EC= %EC%+1& goto AFTER
if %c3%%d3%%e3%%f3%==X..XX if not %d2%==.. set D3=0&set /a DC= %DC%+1& goto AFTER
if %c3%%d3%%e3%%f3%==..XXX if not %c2%==.. set C3=0&set /a CC= %CC%+1& goto AFTER
if %c2%%d2%%e2%%f2%==XXX.. if not %f1%==.. set F2=0&set /a FC= %FC%+1& goto AFTER
if %c2%%d2%%e2%%f2%==XX..X if not %e1%==.. set E2=0&set /a EC= %EC%+1& goto AFTER
if %c2%%d2%%e2%%f2%==X..XX if not %d1%==.. set D2=0&set /a DC= %DC%+1& goto AFTER
if %c2%%d2%%e2%%f2%==..XXX if not %c1%==.. set C2=0&set /a CC= %CC%+1& goto AFTER
if %c1%%d1%%e1%%f1%==XXX.. set F1=0&set /a FC= %FC%+1& goto AFTER
if %c1%%d1%%e1%%f1%==XX..X set E1=0&set /a EC= %EC%+1& goto AFTER
if %c1%%d1%%e1%%f1%==X..XX set D1=0&set /a DC= %DC%+1& goto AFTER
if %c1%%d1%%e1%%f1%==..XXX set C1=0&set /a CC= %CC%+1& goto AFTER
if %a1%%b2%%c3%%d4%==XXX.. if not %d4%==.. set d4=0&set /a DC= %DC%+ 1& goto AFTER
if %a1%%b2%%c3%%d4%==XX..X if not %c3%==.. set C3=0&set /a CC= %CC%+ 1& goto AFTER
if %a1%%b2%%c3%%d4%==X..XX if not %b2%==.. set B2=0&set /a BC= %BC%+ 1& goto AFTER
if %a1%%b2%%c3%%d4%==..XXX set A1=0&set /a AC= %AC%+1& goto AFTER
if %a4%%b3%%c2%%d1%==XXX.. set D1=0&set /a DC= %DC%+1& goto AFTER
if %a4%%b3%%c2%%d1%==XX..X if not %c1%==.. set C2=0&set /a CC= %CC%+1& goto AFTER
if %a4%%b3%%c2%%d1%==X..XX if not %b2%==.. set B3=0&set /a BC= %BC%+1& goto AFTER
if %a4%%b3%%c2%%d1%==..XXX if not %a3%==.. set A4=0&set /a AC= %AC%+1& goto AFTER
if %b1%%C2%%D3%%E4%==XXX.. if not %e3%==.. set E4=0&set /a EC= %EC%+1& goto AFTER
if %b1%%C2%%D3%%E4%==XX..X if not %d2%==.. set D3=0&set /a DC= %DC%+1& goto AFTER
if %b1%%C2%%D3%%E4%==X..XX if not %c1%==.. set C2=0&set /a CC= %CC%+1& goto AFTER
if %b1%%C2%%D3%%E4%==..XXX set B1=0&set /a BC= %BC%+1& goto AFTER
if %b4%%C3%%D2%%E1%==XXX.. set E1=0&set /a EC= %EC%+1& goto AFTER
if %b4%%C3%%D2%%E1%==XX..X if not %d1%==.. set D2=0&set /a DC= %DC%+1& goto AFTER
if %b4%%C3%%D2%%E1%==X..XX if not %c2%==.. set C3=0&set /a CC= %CC%+1& goto AFTER
if %b4%%C3%%D2%%E1%==..XXX if not %b3%==.. set B4=0&set /a BC= %BC%+1& goto AFTER
if %c1%%d2%%e3%%f4%==XXX.. if not %f3%==.. set F4=0&set /a FC= %FC%+1& goto AFTER
if %c1%%d2%%e3%%f4%==XX..X if not %e2%==.. set E3=0&set /a EC= %EC%+1& goto AFTER
if %c1%%d2%%e3%%f4%==X..XX if not %d1%==.. set D2=0&set /a DC= %DC%+1& goto AFTER
if %c1%%d2%%e3%%f4%==..XXX set C1=0&set /a CC= %CC%+1& goto AFTER
if %c4%%d3%%e2%%f1%==XXX.. set F1=0&set /a FC= %FC%+1& goto AFTER
if %c4%%d3%%e2%%f1%==XX..X if not %e1%==.. set E2=0&set /a EC= %EC%+1& goto AFTER
if %c4%%d3%%e2%%f1%==X..XX if not %d2%==.. set D3=0&set /a DC= %DC%+1& goto AFTER
if %c4%%d3%%e2%%f1%==..XXX if not %c3%==.. set C4=0&set /a CC= %CC%+1& goto AFTER
exit /b
:attacker
if %A1%%A2%%A3%%A4%==000.. if not %A3%==.. set A4=0& goto lose
if %A1%%A2%%A3%%A4%==00..0 if not %A2%==.. set A3=0& goto lose
if %A1%%A2%%A3%%A4%==0..00 if not %A1%==.. set A2=0& goto lose
if %A1%%A2%%A3%%A4%==..000 set A1=0& goto lose
if %B1%%B2%%B3%%B4%==000.. if not %B3%==.. set B4=0& goto lose
if %B1%%B2%%B3%%B4%==00..0 if not %B2%==.. set B3=0& goto lose
if %B1%%B2%%B3%%B4%==0..00 if not %B1%==.. set B2=0& goto lose
if %B1%%B2%%B3%%B4%==..000 set B1=0& goto lose
if %C1%%C2%%C3%%C4%==000.. if not %c3%==.. set C4=0& goto lose
if %C1%%C2%%C3%%C4%==00..0 if not %c2%==.. set C3=0& goto lose
if %C1%%C2%%C3%%C4%==0..00 if not %c1%==.. set C2=0& goto lose
if %C1%%C2%%C3%%C4%==..000 set C1=0& goto lose
if %D1%%D2%%D3%%D4%==000.. if not %d3%==.. set D4=0& goto lose
if %D1%%D2%%D3%%D4%==00..0 if not %d2%==.. set D3=0& goto lose
if %D1%%D2%%D3%%D4%==0..00 if not %d1%==.. set D2=0& goto lose
if %D1%%D2%%D3%%D4%==..000 set D1=0& goto lose
if %E1%%E2%%E3%%E4%==000.. if not %e3%==.. set E4=0& goto lose
if %E1%%E2%%E3%%E4%==00..0 if not %e2%==.. set E3=0& goto lose
if %E1%%E2%%E3%%E4%==0..00 if not %d1%==.. set E2=0& goto lose
if %E1%%E2%%E3%%E4%==..000 set E1=0& goto lose
if %F1%%F2%%F3%%F4%==000.. if not %f3%==.. set F4=0& goto lose
if %F1%%F2%%F3%%F4%==00..0 if not %f2%==.. set F3=0& goto lose
if %F1%%F2%%F3%%F4%==0..00 if not %f1%==.. set F2=0& goto lose
if %F1%%F2%%F3%%F4%==..000 set F1=0& goto lose
if %A4%%b4%%c4%%d4%==000.. if not %d3%==.. set d4=0& goto lose
if %A4%%b4%%c4%%d4%==00..0 if not %c3%==.. set c4=0& goto lose
if %A4%%b4%%c4%%d4%==0..00 if not %b3%==.. set b4=0& goto lose
if %A4%%b4%%c4%%d4%==..000 if not %a3%==.. set A4=0& goto lose
if %A3%%b3%%c3%%d3%==000.. if not %d2%==.. set d3=0& goto lose
if %A3%%b3%%c3%%d3%==00..0 if not %c2%==.. set c3=0& goto lose
if %A3%%b3%%c3%%d3%==0..00 if not %b2%==.. set b3=0& goto lose
if %A3%%b3%%c3%%d3%==..000 if not %a2%==.. set A3=0& goto lose
if %A2%%b2%%c2%%d2%==000.. if not %d1%==.. set d2=0& goto lose
if %A2%%b2%%c2%%d2%==00..0 if not %c1%==.. set c2=0& goto lose
if %A2%%b2%%c2%%d2%==0..00 if not %b1%==.. set b2=0& goto lose
if %A2%%b2%%c2%%d2%==..000 if not %a1%==.. set A2=0& goto lose
if %A1%%b1%%c1%%d1%==000.. set d1=0& goto lose
if %A1%%b1%%c1%%d1%==00..0 set c1=0& goto lose
if %A1%%b1%%c1%%d1%==0..00 set b1=0& goto lose
if %A1%%b1%%c1%%d1%==..000 set A1=0& goto lose
if %b4%%c4%%d4%%e4%==000.. if not %e3%==.. set e4=0& goto lose
if %b4%%c4%%d4%%e4%==00..0 if not %d3%==.. set d4=0& goto lose
if %b4%%c4%%d4%%e4%==0..00 if not %c3%==.. set c4=0& goto lose
if %b4%%c4%%d4%%e4%==..000 if not %b3%==.. set b4=0& goto lose
if %b3%%c3%%d3%%e3%==000.. if not %e2%==.. set e3=0& goto lose
if %b3%%c3%%d3%%e3%==00..0 if not %d2%==.. set d3=0& goto lose
if %b3%%c3%%d3%%e3%==0..00 if not %c2%==.. set c3=0& goto lose
if %b3%%c3%%d3%%e3%==..000 if not %b2%==.. set b3=0& goto lose
if %b2%%c2%%d2%%e2%==000.. if not %e1%==.. set e2=0& goto lose
if %b2%%c2%%d2%%e2%==00..0 if not %d1%==.. set d2=0& goto lose
if %b2%%c2%%d2%%e2%==0..00 if not %c1%==.. set c2=0& goto lose
if %b2%%c2%%d2%%e2%==..000 if not %b1%==.. set b2=0& goto lose
if %b1%%c1%%d1%%e1%==000.. set e1=0& goto lose
if %b1%%c1%%d1%%e1%==00..0 set d1=0& goto lose
if %b1%%c1%%d1%%e1%==0..00 set c1=0& goto lose
if %b1%%c1%%d1%%e1%==..000 set b1=0& goto lose
if %c4%%d4%%e4%%f4%==000.. if not %f3%==.. set F4=0& goto lose
if %c4%%d4%%e4%%f4%==00..0 if not %e3%==.. set E4=0& goto lose
if %c4%%d4%%e4%%f4%==0..00 if not %d3%==.. set D4=0& goto lose
if %c4%%d4%%e4%%f4%==..000 if not %c3%==.. set C4=0& goto lose
if %c3%%d3%%e3%%f3%==000.. if not %f2%==.. set F3=0& goto lose
if %c3%%d3%%e3%%f3%==00..0 if not %e2%==.. set E3=0& goto lose
if %c3%%d3%%e3%%f3%==0..00 if not %d2%==.. set D3=0& goto lose
if %c3%%d3%%e3%%f3%==..000 if not %c2%==.. set C3=0& goto lose
if %c2%%d2%%e2%%f2%==000.. if not %f1%==.. set F2=0& goto lose
if %c2%%d2%%e2%%f2%==00..0 if not %e1%==.. set E2=0& goto lose
if %c2%%d2%%e2%%f2%==0..00 if not %d1%==.. set D2=0& goto lose
if %c2%%d2%%e2%%f2%==..000 if not %c1%==.. set C2=0& goto lose
if %c1%%d1%%e1%%f1%==000.. set F1=0& goto lose
if %c1%%d1%%e1%%f1%==00..0 set E1=0& goto lose
if %c1%%d1%%e1%%f1%==0..00 set D1=0& goto lose
if %c1%%d1%%e1%%f1%==..000 set C1=0& goto lose
if %a1%%b2%%c3%%d4%==000.. if not %d3%==.. set d4=0& goto lose
if %a1%%b2%%c3%%d4%==00..0 if not %c2%==.. set C3=0& goto lose
if %a1%%b2%%c3%%d4%==0..00 if not %b1%==.. set B2=0& goto lose
if %a1%%b2%%c3%%d4%==..000 set A1=0& goto lose
if %a4%%b3%%c2%%d1%==000.. set D1=0& goto lose
if %a4%%b3%%c2%%d1%==00..0 if not %c1%==.. set C2=0& goto lose
if %a4%%b3%%c2%%d1%==0..00 if not %b2%==.. set B3=0& goto lose
if %a4%%b3%%c2%%d1%==..000 if not %a3%==.. set A4=0& goto lose
if %b1%%C2%%D3%%E4%==000.. if not %e3%==.. set E4=0& goto lose
if %b1%%C2%%D3%%E4%==00..0 if not %d2%==.. set D3=0& goto lose
if %b1%%C2%%D3%%E4%==0..00 if not %c1%==.. set C2=0& goto lose
if %b1%%C2%%D3%%E4%==..000 set B1=0& goto lose
if %b4%%C3%%D2%%E1%==000.. set E1=0& goto lose
if %b4%%C3%%D2%%E1%==00..0 if not %d1%==.. set D2=0& goto lose
if %b4%%C3%%D2%%E1%==0..00 if not %c2%==.. set C3=0& goto lose
if %b4%%C3%%D2%%E1%==..000 if not %b3%==.. set B4=0& goto lose
if %c1%%d2%%e3%%f4%==000.. if not %f3%==.. set F4=0& goto lose
if %c1%%d2%%e3%%f4%==00..0 if not %e3%==.. set E3=0& goto lose
if %c1%%d2%%e3%%f4%==0..00 if not %d1%==.. set D2=0& goto lose
if %c1%%d2%%e3%%f4%==..000 set C1=0& goto lose
if %c4%%d3%%e2%%f1%==000.. set F1=0& goto lose
if %c4%%d3%%e2%%f1%==00..0 if not %e1%==.. set E2=0& goto lose
if %c4%%d3%%e2%%f1%==0..00 if not %d2%==.. set D3=0& goto lose
if %c4%%d3%%e2%%f1%==..000 if not %c3%==.. set C4=0& goto lose
exit /b
:winlist
call :board
if %A1%%A2%%A3%%A4%==XXXX goto WIN
if %B1%%B2%%B3%%B4%==XXXX goto WIN
if %C1%%C2%%C3%%C4%==XXXX goto WIN
if %D1%%D2%%D3%%D4%==XXXX goto WIN
if %E1%%E2%%E3%%E4%==XXXX goto WIN
if %F1%%F2%%F3%%F4%==XXXX goto WIN
if %A4%%B4%%C4%%D4%==XXXX goto WIN
if %A3%%B3%%C3%%D3%==XXXX goto WIN
if %A2%%B2%%C2%%D2%==XXXX goto WIN
if %A1%%B1%%C1%%D1%==XXXX goto WIN
if %B4%%C4%%D4%%E4%==XXXX goto WIN
if %B3%%C3%%D3%%E3%==XXXX goto WIN
if %B2%%C2%%D2%%E2%==XXXX goto WIN
if %B1%%C1%%D1%%E1%==XXXX goto WIN
if %C4%%D4%%E4%%F4%==XXXX goto WIN
if %C3%%D3%%E3%%F3%==XXXX goto WIN
if %C2%%D2%%E2%%F2%==XXXX goto WIN
if %C1%%D1%%F1%%E1%==XXXX goto WIN
if %C1%%D1%%e1%%f1%==XXXX goto WIN
if %A1%%B2%%C3%%D4%==XXXX goto WIN
if %A4%%B3%%C2%%D1%==XXXX goto WIN
if %B1%%C2%%D3%%E4%==XXXX goto WIN
if %B4%%C3%%D2%%E1%==XXXX goto WIN
if %C1%%D2%%E3%%F4%==XXXX goto WIN
if %C4%%D3%%E2%%F1%==XXXX goto WIN
exit /B
:calibrate
call start WinMsg.exe -t "4get it? Game" -m " 4 get it?\n Game\n\n Calibrate\n Mouse\n\n 1 2 3 4 5 6" -c SystemModal
Speak-x64.exe -t "click 1"
call :WhenClickGetxY
set /a TextColumn1=!x!
call :MouseTwerk
Speak-x64.exe -t "click 6"
call :WhenClickGetxY
set TextColumn6=!x!
call :MouseTwerk
set /a widthtotal=%TextColumn6%-%TextColumn1%
set /a widthcolumn=%widthtotal%/5
set /a gridmin=%TextColumn1%-(%widthcolumn%/2)
set /a gridmax=%TextColumn6%+(%widthcolumn%/2)
exit /b
:WhenClickGetxY
call MacroCMD-x64.exe /r /m /d:1 /s |findstr "LB"|findstr "LB"
if not %errorlevel%==0 goto :WhenClickGetxY
:GetxY
for /f "tokens=*" %%A in ('MacroCMD-x64.exe /r /m /d:63 /s ^|findstr "x"')do set xystring=%%A
for /F "tokens=2,3 delims= " %%A IN ("!xystring!") do (
for /F "tokens=1,2 delims==" %%D IN ("%%A") do set /a x=%%E
for /F "tokens=1,2 delims==" %%D IN ("%%B") do set /a y=%%E)
exit /b
:MouseTwerk
set P=
for %%A IN ( 15 -15 10 -10 8 -7 6 -5 4 0 ) do (
set /a P+=1
set /a EPx!P!=!x!+%%A)
for /L %%A IN (1,1,10) do (
call setcursorposition-x64.exe !EPx%%A! !y!)
exit /b
:TextBoxMonitor
set /a P+=1
MacroCMD-x64.exe /r /m /d:11 /s |findstr "LB"|findstr "LB"
if %errorlevel%==0 goto :TextBoxMonitor2
MacroCMD-x64.exe /r /m /d:11 /s |findstr "LB"|findstr "LB"
:TextBoxMonitor2
if %P% EQU 200 goto :TextBoxMonitor
if not %errorlevel%==0 goto :TextBoxMonitor
for /f "tokens=*" %%A in ('MacroCMD-x64.exe /r /m /d:63 /s ^|findstr "x"' ) do set xystring=%%A
for /F "tokens=2,3 delims= " %%A IN ("!xystring!") do (
for /F "tokens=1,2 delims==" %%D IN ("%%A") do set /a x=%%E
for /F "tokens=1,2 delims==" %%D IN ("%%B") do set /a y=%%E)
if %x% LSS %gridmin% goto :TextBoxMonitor
if %x% GTR %gridmax% goto :TextBoxMonitor
call :MouseTwerk
set /a selected=(%x%-%gridmin%)/%widthcolumn%+1
set P1=%selected%
Taskkill.exe /F /IM WinMsg.exe
exit /b
:Goodbye
Speak-x64.exe -t "Goodbye"
exit