@echo off color 0f title Knots and crosses : By Monacraft echo. SETLOCAL=ENABLEDELAYEDEXPANSION echo. if not exist "Progress" md "Progress" :newgame set /a moves=0 set "turn=1" cls echo . > progress\S1.txt echo . > progress\S2.txt echo . > progress\S3.txt echo . > progress\S4.txt echo . > progress\S5.txt echo . > progress\S6.txt echo . > progress\S7.txt echo . > progress\S8.txt echo . > progress\S9.txt echo. echo . . . echo . . . echo . . . goto :turn%turn% goto :crash :redo1 cls echo This square is taken! echo. type progress\r1.txt type progress\r2.txt type progress\r3.txt echo. :turn1 echo. echo. echo Player 1 GO! choice /c 123456789 /m "Player 1: " /n set /a p1=%errorlevel% for /f %%a in (progress\s%p1%.txt) do ( set foo=%%a ) if %foo% equ X goto redo1 if %foo% equ 0 goto redo1 if %foo% equ . goto move1 goto :crash :move1 set /a moves=%moves%+1 cls echo. echo 0 > progress\s%p1%.txt for /L %%a in (1,1,3) do ( for /f "delims=" %%x in ('type progress\s%%a.txt ^| findstr /v "linux"') do @set c%%a=%%x ) echo %c1% %c2% %c3% > progress\r1.txt for /L %%a in (4,1,6) do ( for /f "delims=" %%x in ('type progress\s%%a.txt ^| findstr /v "linux"') do @set c%%a=%%x ) echo %c4% %c5% %c6% > progress\r2.txt for /L %%a in (7,1,9) do ( for /f "delims=" %%x in ('type progress\s%%a.txt ^| findstr /v "linux"') do @set c%%a=%%x ) echo %c7% %c8% %c9% > progress\r3.txt type progress\r1.txt type progress\r2.txt type progress\r3.txt if %c1%==0 if %c2%==0 if %c3%==0 goto :win if %c4%==0 if %c5%==0 if %c6%==0 goto :win if %c7%==0 if %c8%==0 if %c9%==0 goto :win if %c1%==0 if %c4%==0 if %c7%==0 goto :win if %c2%==0 if %c5%==0 if %c8%==0 goto :win if %c3%==0 if %c6%==0 if %c9%==0 goto :win if %c1%==0 if %c5%==0 if %c9%==0 goto :win if %c3%==0 if %c5%==0 if %c7%==0 goto :win set "turn=2" if %moves% equ 9 goto :tie goto :turn%turn% :redo2 cls echo This square is taken! echo. type progress\r1.txt type progress\r2.txt type progress\r3.txt echo. :turn2 echo. echo. echo Player 2 GO! choice /c 123456789 /m "Player 2: " /n set p2=%errorlevel% for /f %%a in (progress\s%p2%.txt) do ( set foo=%%a ) if %foo% equ X goto :redo2 if %foo% equ 0 goto :redo2 if %foo% equ . goto :move2 goto :crash :move2 set /a moves=%moves%+1 cls echo. echo X > progress\s%p2%.txt for /L %%a in (1,1,3) do ( for /f "delims=" %%x in ('type progress\s%%a.txt ^| findstr /v "linux"') do @set c%%a=%%x ) echo %c1% %c2% %c3% > progress\r1.txt for /L %%a in (4,1,6) do ( for /f "delims=" %%x in ('type progress\s%%a.txt ^| findstr /v "linux"') do @set c%%a=%%x ) echo %c4% %c5% %c6% > progress\r2.txt for /L %%a in (7,1,9) do ( for /f "delims=" %%x in ('type progress\s%%a.txt ^| findstr /v "linux"') do @set c%%a=%%x ) echo %c7% %c8% %c9% > progress\r3.txt type progress\r1.txt type progress\r2.txt type progress\r3.txt if %c1%==X if %c2%==X if %c3%==X goto :win if %c4%==X if %c5%==X if %c6%==X goto :win if %c7%==X if %c8%==X if %c9%==X goto :win if %c1%==X if %c4%==X if %c7%==X goto :win if %c2%==X if %c5%==X if %c8%==X goto :win if %c3%==X if %c6%==X if %c9%==X goto :win if %c1%==X if %c5%==X if %c9%==X goto :win if %c3%==X if %c5%==X if %c7%==X goto :win set "turn=1" if %moves% equ 9 goto :tie goto :turn%turn% goto :crash :win cls Echo. Echo Player %turn% WINS ! ! ! Echo WELL DONE ! ! ! Echo. type progress\r1.txt type progress\r2.txt type progress\r3.txt Echo. Echo Continuing will start a new game. echo. pause goto :newgame :tie cls Echo. Echo Its A TIE Echo No More Empty Squares ! ! ! Echo. type progress\r1.txt type progress\r2.txt type progress\r3.txt Echo. Echo Continuing will start a new game. echo. pause goto :newgame :crash echo Sorry to report but the game has crashed pause