75 lines
No EOL
1.3 KiB
Batchfile
75 lines
No EOL
1.3 KiB
Batchfile
rem USED TOOLS:
|
|
rem RENDER-TABLE
|
|
rem
|
|
|
|
@echo off
|
|
setlocal enabledelayedexpansion
|
|
set place=X
|
|
set x0=
|
|
set x1=
|
|
set x2=
|
|
set x3=
|
|
set x4=
|
|
set x5=
|
|
set x6=
|
|
set x7=
|
|
set x8=
|
|
set lsel=0
|
|
title TicTacToe
|
|
|
|
rem PATTERNS 012 345 678 036 147 258 048 246
|
|
|
|
set patterns_1=0,1,2
|
|
set patterns_2=3,4,5
|
|
set patterns_3=6,7,8
|
|
set patterns_4=0,3,6
|
|
set patterns_5=1,4,7
|
|
set patterns_6=2,5,8
|
|
set patterns_7=0,4,8
|
|
set patterns_8=2,4,6
|
|
set patterns_s09=0,2,6,8
|
|
set patterns_s10=1,3,5,7
|
|
|
|
set anyisvalid=false
|
|
|
|
set charX=88
|
|
set charO=79
|
|
|
|
set optionID=TicTacToe
|
|
goto start
|
|
|
|
:d
|
|
set anyisvalid=false
|
|
for /f "tokens=1* delims==" %%a in ('set patterns_') do (
|
|
call :checkpattern "%%a" "%%b"
|
|
)
|
|
|
|
:start
|
|
Cls
|
|
set mode=SELECT
|
|
if "%anyisvalid%"=="true" set mode=EMU-SELECT
|
|
echo USED TOOLS:
|
|
echo RENDER-TABLE.exe
|
|
echo.
|
|
..\RENDER-TABLE %mode% 3 3 "%x0%" "%x1%" "%x2%" "%x3%" "%x4%" "%x5%" "%x6%" "%x7%" "%x8%"
|
|
if "%anyisvalid%"=="true" echo.
|
|
if "%anyisvalid%"=="true" echo %shouldbe% won.
|
|
if "%anyisvalid%"=="true" pause
|
|
if "%anyisvalid%"=="true" exit
|
|
set lsel=%errorlevel%
|
|
set x%lsel%=%place%
|
|
set place2=%place%
|
|
if "%place2%"=="X" set place=O
|
|
if "%place2%"=="O" set place=X
|
|
goto d
|
|
|
|
:checkpattern
|
|
set origX=%lsel%
|
|
set shouldbe=!x%origX%!
|
|
set pattern=%~2
|
|
set valid=true
|
|
for %%a in (%pattern%) do (
|
|
if "!x%%a!" NEQ "%shouldbe%" set valid=false
|
|
)
|
|
if "%valid%"=="true" set anyisvalid=true
|
|
exit /b |