ORPcmd/v5/demo/TicTacToe.bat
2018-10-19 17:17:40 +02:00

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