2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
48
Task/Tic-tac-toe/Batch-File/tic-tac-toe-1.bat
Normal file
48
Task/Tic-tac-toe/Batch-File/tic-tac-toe-1.bat
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
:newgame
|
||||
set a1=1
|
||||
set a2=2
|
||||
set a3=3
|
||||
set a4=4
|
||||
set a5=5
|
||||
set a6=6
|
||||
set a7=7
|
||||
set a8=8
|
||||
set a9=9
|
||||
set ll=X
|
||||
set /a zz=0
|
||||
:display1
|
||||
cls
|
||||
echo Player: %ll%
|
||||
echo %a7%_%a8%_%a9%
|
||||
echo %a4%_%a5%_%a6%
|
||||
echo %a1%_%a2%_%a3%
|
||||
set /p myt=Where would you like to go (choose a number from 1-9 and press enter)?
|
||||
if !a%myt%! equ %myt% (
|
||||
set a%myt%=%ll%
|
||||
goto check
|
||||
)
|
||||
goto display1
|
||||
:check
|
||||
set /a zz=%zz%+1
|
||||
if %zz% geq 9 goto newgame
|
||||
if %a7%+%a8%+%a9% equ %ll%+%ll%+%ll% goto win
|
||||
if %a4%+%a5%+%a6% equ %ll%+%ll%+%ll% goto win
|
||||
if %a1%+%a2%+%a3% equ %ll%+%ll%+%ll% goto win
|
||||
if %a7%+%a5%+%a3% equ %ll%+%ll%+%ll% goto win
|
||||
if %a1%+%a5%+%a9% equ %ll%+%ll%+%ll% goto win
|
||||
if %a7%+%a4%+%a1% equ %ll%+%ll%+%ll% goto win
|
||||
if %a8%+%a5%+%a2% equ %ll%+%ll%+%ll% goto win
|
||||
if %a9%+%a6%+%a3% equ %ll%+%ll%+%ll% goto win
|
||||
goto %ll%
|
||||
:X
|
||||
set ll=O
|
||||
goto display1
|
||||
:O
|
||||
set ll=X
|
||||
goto display1
|
||||
:win
|
||||
echo %ll% wins!
|
||||
pause
|
||||
goto newgame
|
||||
321
Task/Tic-tac-toe/Batch-File/tic-tac-toe-2.bat
Normal file
321
Task/Tic-tac-toe/Batch-File/tic-tac-toe-2.bat
Normal file
|
|
@ -0,0 +1,321 @@
|
|||
@ECHO OFF
|
||||
:BEGIN
|
||||
REM Skill level
|
||||
set sl=
|
||||
cls
|
||||
echo Tic Tac Toe (Q to quit)
|
||||
echo.
|
||||
echo.
|
||||
echo Pick your skill level (press a number)
|
||||
echo.
|
||||
echo (1) Children under 6
|
||||
echo (2) Average Mental Case
|
||||
echo (3) Oversized Ego
|
||||
CHOICE /c:123q /n > nul
|
||||
if errorlevel 4 goto end
|
||||
if errorlevel 3 set sl=3
|
||||
if errorlevel 3 goto layout
|
||||
if errorlevel 2 set sl=2
|
||||
if errorlevel 2 goto layout
|
||||
set sl=1
|
||||
|
||||
:LAYOUT
|
||||
REM Player turn ("x" or "o")
|
||||
set pt=
|
||||
REM Game winner ("x" or "o")
|
||||
set gw=
|
||||
REM No moves
|
||||
set nm=
|
||||
REM Set to one blank space after equal sign (check with cursor end)
|
||||
set t1=
|
||||
set t2=
|
||||
set t3=
|
||||
set t4=
|
||||
set t5=
|
||||
set t6=
|
||||
set t7=
|
||||
set t8=
|
||||
set t9=
|
||||
|
||||
:UPDATE
|
||||
cls
|
||||
echo (S to set skill level) Tic Tac Toe (Q to quit)
|
||||
echo.
|
||||
echo You are the X player.
|
||||
echo Press the number where you want to put an X.
|
||||
echo.
|
||||
echo Skill level %sl% 7 8 9
|
||||
echo 4 5 6
|
||||
echo 1 2 3
|
||||
echo.
|
||||
echo : :
|
||||
echo %t1% : %t2% : %t3%
|
||||
echo ....:...:....
|
||||
echo %t4% : %t5% : %t6%
|
||||
echo ....:...:....
|
||||
echo %t7% : %t8% : %t9%
|
||||
echo : :
|
||||
if "%gw%"=="x" goto winx2
|
||||
if "%gw%"=="o" goto wino2
|
||||
if "%nm%"=="0" goto nomoves
|
||||
|
||||
:PLAYER
|
||||
set pt=x
|
||||
REM Layout is for keypad. Change CHOICE to "/c:123456789sq /n > nul"
|
||||
REM for numbers to start at top left (also change user layout above).
|
||||
CHOICE /c:789456123sq /n > nul
|
||||
if errorlevel 11 goto end
|
||||
if errorlevel 10 goto begin
|
||||
if errorlevel 9 goto 9
|
||||
if errorlevel 8 goto 8
|
||||
if errorlevel 7 goto 7
|
||||
if errorlevel 6 goto 6
|
||||
if errorlevel 5 goto 5
|
||||
if errorlevel 4 goto 4
|
||||
if errorlevel 3 goto 3
|
||||
if errorlevel 2 goto 2
|
||||
goto 1
|
||||
|
||||
:1
|
||||
REM Check if "x" or "o" already in square.
|
||||
if "%t1%"=="x" goto player
|
||||
if "%t1%"=="o" goto player
|
||||
set t1=x
|
||||
goto check
|
||||
:2
|
||||
if "%t2%"=="x" goto player
|
||||
if "%t2%"=="o" goto player
|
||||
set t2=x
|
||||
goto check
|
||||
:3
|
||||
if "%t3%"=="x" goto player
|
||||
if "%t3%"=="o" goto player
|
||||
set t3=x
|
||||
goto check
|
||||
:4
|
||||
if "%t4%"=="x" goto player
|
||||
if "%t4%"=="o" goto player
|
||||
set t4=x
|
||||
goto check
|
||||
:5
|
||||
if "%t5%"=="x" goto player
|
||||
if "%t5%"=="o" goto player
|
||||
set t5=x
|
||||
goto check
|
||||
:6
|
||||
if "%t6%"=="x" goto player
|
||||
if "%t6%"=="o" goto player
|
||||
set t6=x
|
||||
goto check
|
||||
:7
|
||||
if "%t7%"=="x" goto player
|
||||
if "%t7%"=="o" goto player
|
||||
set t7=x
|
||||
goto check
|
||||
:8
|
||||
if "%t8%"=="x" goto player
|
||||
if "%t8%"=="o" goto player
|
||||
set t8=x
|
||||
goto check
|
||||
:9
|
||||
if "%t9%"=="x" goto player
|
||||
if "%t9%"=="o" goto player
|
||||
set t9=x
|
||||
goto check
|
||||
|
||||
:COMPUTER
|
||||
set pt=o
|
||||
if "%sl%"=="1" goto skill1
|
||||
REM (win corner to corner)
|
||||
if "%t1%"=="o" if "%t3%"=="o" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if "%t1%"=="o" if "%t9%"=="o" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
if "%t1%"=="o" if "%t7%"=="o" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t3%"=="o" if "%t7%"=="o" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
if "%t3%"=="o" if "%t9%"=="o" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t9%"=="o" if "%t7%"=="o" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
REM (win outside middle to outside middle)
|
||||
if "%t2%"=="o" if "%t8%"=="o" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
if "%t4%"=="o" if "%t6%"=="o" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
REM (win all others)
|
||||
if "%t1%"=="o" if "%t2%"=="o" if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
if "%t1%"=="o" if "%t5%"=="o" if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
if "%t1%"=="o" if "%t4%"=="o" if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if "%t2%"=="o" if "%t5%"=="o" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
if "%t3%"=="o" if "%t2%"=="o" if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if "%t3%"=="o" if "%t5%"=="o" if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if "%t3%"=="o" if "%t6%"=="o" if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
if "%t4%"=="o" if "%t5%"=="o" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t6%"=="o" if "%t5%"=="o" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t7%"=="o" if "%t4%"=="o" if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if "%t7%"=="o" if "%t5%"=="o" if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
if "%t7%"=="o" if "%t8%"=="o" if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
if "%t8%"=="o" if "%t5%"=="o" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if "%t9%"=="o" if "%t8%"=="o" if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if "%t9%"=="o" if "%t5%"=="o" if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if "%t9%"=="o" if "%t6%"=="o" if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
REM (block general attempts) -----------------------------------------------
|
||||
if "%t1%"=="x" if "%t2%"=="x" if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
if "%t1%"=="x" if "%t5%"=="x" if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
if "%t1%"=="x" if "%t4%"=="x" if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if "%t2%"=="x" if "%t5%"=="x" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
if "%t3%"=="x" if "%t2%"=="x" if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if "%t3%"=="x" if "%t5%"=="x" if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if "%t3%"=="x" if "%t6%"=="x" if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
if "%t4%"=="x" if "%t5%"=="x" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t6%"=="x" if "%t5%"=="x" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t7%"=="x" if "%t4%"=="x" if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if "%t7%"=="x" if "%t5%"=="x" if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
if "%t7%"=="x" if "%t8%"=="x" if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
if "%t8%"=="x" if "%t5%"=="x" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if "%t9%"=="x" if "%t8%"=="x" if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if "%t9%"=="x" if "%t5%"=="x" if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if "%t9%"=="x" if "%t6%"=="x" if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
REM (block obvious corner to corner)
|
||||
if "%t1%"=="x" if "%t3%"=="x" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if "%t1%"=="x" if "%t9%"=="x" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
if "%t1%"=="x" if "%t7%"=="x" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t3%"=="x" if "%t7%"=="x" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
if "%t3%"=="x" if "%t9%"=="x" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t9%"=="x" if "%t7%"=="x" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
if "%sl%"=="2" goto skill2
|
||||
REM (block sneaky corner to corner 2-4, 2-6, etc.)
|
||||
if "%t2%"=="x" if "%t4%"=="x" if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if "%t2%"=="x" if "%t6%"=="x" if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
if "%t8%"=="x" if "%t4%"=="x" if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if "%t8%"=="x" if "%t6%"=="x" if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
REM (block offset corner trap 1-8, 1-6, etc.)
|
||||
if "%t1%"=="x" if "%t6%"=="x" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
if "%t1%"=="x" if "%t8%"=="x" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t3%"=="x" if "%t8%"=="x" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t3%"=="x" if "%t4%"=="x" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
if "%t9%"=="x" if "%t4%"=="x" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if "%t9%"=="x" if "%t2%"=="x" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t7%"=="x" if "%t2%"=="x" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t7%"=="x" if "%t6%"=="x" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
|
||||
:SKILL2
|
||||
REM (block outside middle to outside middle)
|
||||
if "%t2%"=="x" if "%t8%"=="x" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
if "%t4%"=="x" if "%t6%"=="x" if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
REM (block 3 corner trap)
|
||||
if "%t1%"=="x" if "%t9%"=="x" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if "%t3%"=="x" if "%t7%"=="x" if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if "%t1%"=="x" if "%t9%"=="x" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t3%"=="x" if "%t7%"=="x" if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if "%t1%"=="x" if "%t9%"=="x" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t3%"=="x" if "%t7%"=="x" if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if "%t1%"=="x" if "%t9%"=="x" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
if "%t3%"=="x" if "%t7%"=="x" if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
:SKILL1
|
||||
REM (just take a turn)
|
||||
if not "%t5%"=="x" if not "%t5%"=="o" goto c5
|
||||
if not "%t1%"=="x" if not "%t1%"=="o" goto c1
|
||||
if not "%t3%"=="x" if not "%t3%"=="o" goto c3
|
||||
if not "%t7%"=="x" if not "%t7%"=="o" goto c7
|
||||
if not "%t9%"=="x" if not "%t9%"=="o" goto c9
|
||||
if not "%t2%"=="x" if not "%t2%"=="o" goto c2
|
||||
if not "%t4%"=="x" if not "%t4%"=="o" goto c4
|
||||
if not "%t6%"=="x" if not "%t6%"=="o" goto c6
|
||||
if not "%t8%"=="x" if not "%t8%"=="o" goto c8
|
||||
set nm=0
|
||||
goto update
|
||||
|
||||
:C1
|
||||
set t1=o
|
||||
goto check
|
||||
:C2
|
||||
set t2=o
|
||||
goto check
|
||||
:C3
|
||||
set t3=o
|
||||
goto check
|
||||
:C4
|
||||
set t4=o
|
||||
goto check
|
||||
:C5
|
||||
set t5=o
|
||||
goto check
|
||||
:C6
|
||||
set t6=o
|
||||
goto check
|
||||
:C7
|
||||
set t7=o
|
||||
goto check
|
||||
:C8
|
||||
set t8=o
|
||||
goto check
|
||||
:C9
|
||||
set t9=o
|
||||
goto check
|
||||
|
||||
:CHECK
|
||||
if "%t1%"=="x" if "%t2%"=="x" if "%t3%"=="x" goto winx
|
||||
if "%t4%"=="x" if "%t5%"=="x" if "%t6%"=="x" goto winx
|
||||
if "%t7%"=="x" if "%t8%"=="x" if "%t9%"=="x" goto winx
|
||||
if "%t1%"=="x" if "%t4%"=="x" if "%t7%"=="x" goto winx
|
||||
if "%t2%"=="x" if "%t5%"=="x" if "%t8%"=="x" goto winx
|
||||
if "%t3%"=="x" if "%t6%"=="x" if "%t9%"=="x" goto winx
|
||||
if "%t1%"=="x" if "%t5%"=="x" if "%t9%"=="x" goto winx
|
||||
if "%t3%"=="x" if "%t5%"=="x" if "%t7%"=="x" goto winx
|
||||
if "%t1%"=="o" if "%t2%"=="o" if "%t3%"=="o" goto wino
|
||||
if "%t4%"=="o" if "%t5%"=="o" if "%t6%"=="o" goto wino
|
||||
if "%t7%"=="o" if "%t8%"=="o" if "%t9%"=="o" goto wino
|
||||
if "%t1%"=="o" if "%t4%"=="o" if "%t7%"=="o" goto wino
|
||||
if "%t2%"=="o" if "%t5%"=="o" if "%t8%"=="o" goto wino
|
||||
if "%t3%"=="o" if "%t6%"=="o" if "%t9%"=="o" goto wino
|
||||
if "%t1%"=="o" if "%t5%"=="o" if "%t9%"=="o" goto wino
|
||||
if "%t3%"=="o" if "%t5%"=="o" if "%t7%"=="o" goto wino
|
||||
if "%pt%"=="x" goto computer
|
||||
if "%pt%"=="o" goto update
|
||||
|
||||
:WINX
|
||||
set gw=x
|
||||
goto update
|
||||
:WINX2
|
||||
echo You win!
|
||||
echo Play again (Y,N)?
|
||||
CHOICE /c:ynsq /n > nul
|
||||
if errorlevel 4 goto end
|
||||
if errorlevel 3 goto begin
|
||||
if errorlevel 2 goto end
|
||||
goto layout
|
||||
|
||||
:WINO
|
||||
set gw=o
|
||||
goto update
|
||||
:WINO2
|
||||
echo Sorry, You lose.
|
||||
echo Play again (Y,N)?
|
||||
CHOICE /c:ynsq /n > nul
|
||||
if errorlevel 4 goto end
|
||||
if errorlevel 3 goto begin
|
||||
if errorlevel 2 goto end
|
||||
goto layout
|
||||
|
||||
:NOMOVES
|
||||
echo There are no more moves left!
|
||||
echo Play again (Y,N)?
|
||||
CHOICE /c:ynsq /n > nul
|
||||
if errorlevel 4 goto end
|
||||
if errorlevel 3 goto begin
|
||||
if errorlevel 2 goto end
|
||||
goto layout
|
||||
|
||||
:END
|
||||
cls
|
||||
echo Tic Tac Toe
|
||||
echo.
|
||||
REM Clear all variables (no spaces after equal sign).
|
||||
set gw=
|
||||
set nm=
|
||||
set sl=
|
||||
set pt=
|
||||
set t1=
|
||||
set t2=
|
||||
set t3=
|
||||
set t4=
|
||||
set t5=
|
||||
set t6=
|
||||
set t7=
|
||||
set t8=
|
||||
set t9=
|
||||
|
|
@ -1,136 +0,0 @@
|
|||
::
|
||||
::Tic-Tac-Toe Task from Rosetta Code Wiki
|
||||
::Batch File Implementation
|
||||
::
|
||||
::Directly OPEN the Batch File to play.
|
||||
::
|
||||
|
||||
@echo off
|
||||
title Sample TicTacToe Game
|
||||
mode con cols=50 lines=21
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
set win=a1a2a3 a4a5a6 a7a8a9 a1a4a7 a2a5a8 a3a6a9 a1a5a9 a3a5a7
|
||||
|
||||
:begin
|
||||
set blanks=123456789&set numblanks=9
|
||||
for /l %%. in (1,1,9) do set "a%%.= "
|
||||
|
||||
set /a rnd=%random%%%2
|
||||
if %rnd%==1 set msg=YOU will move first.&goto :youmove
|
||||
set msg=CPU will move first.&goto :rndmove
|
||||
|
||||
:youmove
|
||||
cls
|
||||
call :display
|
||||
echo Your Turn:
|
||||
set "move="
|
||||
for /F "usebackq delims=" %%L in (`xcopy /L /w "%~f0" "%~f0" 2^>NUL`) do (
|
||||
if not defined move set "move=%%L"
|
||||
)
|
||||
set move=!move:~-1!
|
||||
for /l %%. in (1,1,9) do if "!move!"=="%%." goto :preproc
|
||||
if /i "!move!"=="n" goto :begin
|
||||
if /i "!move!"=="o" exit
|
||||
set msg=Invalid Input.
|
||||
goto youmove
|
||||
|
||||
:preproc
|
||||
if "!a%move%!"=="X" (set msg=An X is already There.&goto youmove)
|
||||
if "!a%move%!"=="O" (set msg=An O is already There.&goto youmove)
|
||||
|
||||
set a%move%=O
|
||||
set /a numblanks-=1&set blanks=!blanks:%move%=!
|
||||
call :ifdraw
|
||||
|
||||
for %%. in (%win%) do (
|
||||
set comb=%%.
|
||||
call :mainproc1
|
||||
)
|
||||
set block=0
|
||||
for %%. in (%win%) do (
|
||||
if !block!==0 (
|
||||
set comb=%%.
|
||||
call :mainproc2
|
||||
)
|
||||
)
|
||||
if %block%==1 (
|
||||
set /a numblanks-=1&set blanks=!blanks:%remove%=!
|
||||
set msg=CPU Puts an X on Grid %remove%.
|
||||
call :ifdraw
|
||||
goto youmove
|
||||
)
|
||||
goto rndmove
|
||||
|
||||
|
||||
:mainproc1
|
||||
if "!%comb:~0,2%!!%comb:~2,2%!!%comb:~4,2%!"=="OOO" (set msg=You Win^^!&goto res)
|
||||
|
||||
if "!%comb:~0,2%!!%comb:~2,2%!!%comb:~4,2%!"=="XX " (
|
||||
set %comb:~4,2%=X&set msg=CPU Wins^^!
|
||||
goto res
|
||||
)
|
||||
if "!%comb:~0,2%!!%comb:~2,2%!!%comb:~4,2%!"=="X X" (
|
||||
set %comb:~2,2%=X&set msg=CPU Wins^^!
|
||||
goto res
|
||||
)
|
||||
if "!%comb:~0,2%!!%comb:~2,2%!!%comb:~4,2%!"==" XX" (
|
||||
set %comb:~0,2%=X&set msg=CPU Wins^^!
|
||||
goto res
|
||||
)
|
||||
goto :EOF
|
||||
|
||||
:mainproc2
|
||||
if "!%comb:~0,2%!!%comb:~2,2%!!%comb:~4,2%!"=="OO " (
|
||||
set %comb:~4,2%=X&set remove=%comb:~5,1%
|
||||
set block=1
|
||||
)
|
||||
if "!%comb:~0,2%!!%comb:~2,2%!!%comb:~4,2%!"=="O O" (
|
||||
set %comb:~2,2%=X&set remove=%comb:~3,1%
|
||||
set block=1
|
||||
)
|
||||
if "!%comb:~0,2%!!%comb:~2,2%!!%comb:~4,2%!"==" OO" (
|
||||
set %comb:~0,2%=X&set remove=%comb:~1,1%
|
||||
set block=1
|
||||
)
|
||||
goto :EOF
|
||||
|
||||
:ifdraw
|
||||
if %numblanks%==0 (set msg=Game Draw.&goto res)
|
||||
goto :EOF
|
||||
|
||||
:rndmove
|
||||
set /a rnd=(%random%%%%numblanks%)
|
||||
set bla=!blanks:~%rnd%,1!
|
||||
set a%bla%=X
|
||||
set /a numblanks-=1&set blanks=!blanks:%bla%=!
|
||||
if not %numblanks%==8 (set msg=CPU Puts an X on Grid %bla%.)
|
||||
call :ifdraw
|
||||
goto youmove
|
||||
|
||||
:res
|
||||
cls
|
||||
call :display
|
||||
echo Press any char key to play again.
|
||||
pause>nul
|
||||
goto begin
|
||||
|
||||
:display
|
||||
echo.
|
||||
echo Tic-Tac-Toe (Man VS CPU)
|
||||
echo Batch File Implementation
|
||||
echo.
|
||||
echo.
|
||||
echo Gameboard Press:
|
||||
echo.
|
||||
echo +---+---+---+ N - New Game
|
||||
echo 1-3 ^| %a1% ^| %a2% ^| %a3% ^| O - Exit
|
||||
echo +---+---+---+
|
||||
echo 4-6 ^| %a4% ^| %a5% ^| %a6% ^|
|
||||
echo +---+---+---+ You - O
|
||||
echo 7-9 ^| %a7% ^| %a8% ^| %a9% ^| CPU - X
|
||||
echo +---+---+---+
|
||||
echo.
|
||||
echo Message: !msg!
|
||||
echo.
|
||||
goto :EOF
|
||||
Loading…
Add table
Add a link
Reference in a new issue