You, I made it.
I had much trouble, but it's quite fun to play. ^^
Edit of code 1: Made it even more smarter by not trying to make you loose, and tries to win too.
Edit of code 2: Why not add some type of design?
Edit of code 3: Some fixes.
Edit of code 4: More fixes.
Edit of code 5: Fixed over-writing the Xs/Os
Edit of code 6: Found a flaw where it wouldn't check if 3=x & 9=x at the same time.
Edit of code 7: Found another flaw, where O wouldn't set on 6 when 3=x & 9=x at the same time.
Enjoy. ^^
I had much trouble, but it's quite fun to play. ^^
Code
@echo off
title TTT
setlocal enabledelayedexpansion
set f=1
echo.
if %f%==1 timeout 1 /nobreak >nul
echo /--\
if %f%==1 timeout 1 /nobreak >nul
echo ^| ^|
if %f%==1 timeout 1 /nobreak >nul
echo ^| ^|
if %f%==1 timeout 1 /nobreak >nul
echo ^| ^|
if %f%==1 timeout 1 /nobreak >nul
echo \--/
if %f%==1 timeout 1 /nobreak >nul
set f=0 >nul
set xwins=0
set owins=0
set t=O
: start
set 1=1
set 2=2
set 3=3
set 4=4
set 5=5
set 6=6
set 7=7
set 8=8
set 9=9
cls
: board
cls
echo.
echo /--\
echo ^| !7! !8! !9! ^| X: %xwins%
echo ^| !4! !5! !6! ^|
echo ^| !1! !2! !3! ^| O: %owins%
echo \--/
set f=0 >nul
echo.
if !1!==X if !4!==X if !7!==X goto xwin
if !1!==O if !4!==O if !7!==O goto owin
if !2!==X if !5!==X if !8!==X goto xwin
if !2!==O if !5!==O if !8!==O goto owin
if !3!==X if !6!==X if !9!==X goto xwin
if !3!==O if !6!==O if !9!==O goto owin
::Coded by Liam Allan :D
if !1!==X if !2!==X if !3!==X goto xwin
if !1!==O if !2!==O if !3!==O goto owin
if !4!==X if !5!==X if !6!==X goto xwin
if !4!==O if !5!==O if !6!==O goto owin
if !7!==X if !8!==X if !9!==X goto xwin
if !7!==O if !8!==O if !9!==O goto owin
if !1!==X if !5!==X if !9!==X goto xwin
if !1!==O if !5!==O if !9!==O goto owin
if !3!==X if !5!==X if !7!==X goto xwin
if !3!==O if !5!==O if !7!==O goto owin
if not !1!==1 if not !2!==2 if not !3!==3 if not !4!==4 if not !5!==5 if not !6!==6 if not !7!==7 if not !8!==8 if not !9!==9 goto nowin
echo %t%, your go! Choose a number..
if %t%==O goto some1
: playerag
CHOICE /C 123456789 >nul
if !%errorlevel%!==X goto playerag
if !%errorlevel%!==O goto playerag
set !%errorlevel%!=X
if %t%==X (set t=O) else (set t=X)
::Coded by Liam Allan :D
goto board
: some1
timeout 1 /nobreak >nul
set go=0
::Coded by Liam Allan :D
: smart
if %go%==0 if !3!==X if !9!==X if !6!==6 set 6=O&set go=1
if %go%==0 if !1!==O if !4!==O if !7!==7 set 7=O&set go=1
if %go%==0 if !2!==O if !5!==O if !8!==8 set 8=O&set go=1
if %go%==0 if !3!==O if !6!==O if !9!==9 set 9=O&set go=1
if %go%==0 if !1!==O if !2!==O if !3!==3 set 3=O&set go=1
if %go%==0 if !4!==O if !5!==O if !6!==6 set 6=O&set go=1
if %go%==0 if !7!==O if !8!==O if !9!==9 set 9=O&set go=1
if %go%==0 if !7!==O if !4!==O if !1!==1 set 1=O&set go=1
if %go%==0 if !8!==O if !5!==O if !2!==2 set 2=O&set go=1
if %go%==0 if !9!==O if !6!==O if !3!==3 set 3=O&set go=1
if %go%==0 if !9!==O if !8!==O if !7!==7 set 7=O&set go=1
if %go%==0 if !6!==O if !5!==O if !4!==4 set 4=O&set go=1
if %go%==0 if !3!==O if !2!==O if !1!==1 set 1=O&set go=1
if %go%==0 if !1!==O if !5!==O if !9!==9 set 9=O&set go=1
if %go%==0 if !3!==O if !5!==O if !7!==7 set 7=O&set go=1
if %go%==0 if !7!==O if !5!==O if !3!==3 set 3=O&set go=1
if %go%==0 if !9!==O if !5!==O if !1!==1 set 1=O&set go=1
::Coded by Liam Allan :D
if %go%==0 if !1!==O if !9!==O if !5!==5 set 5=O&set go=1
if %go%==0 if !3!==O if !7!==O if !5!==5 set 5=O&set go=1
if %go%==0 if !1!==O if !3!==O if !2!==2 set 2=O&set go=1
if %go%==0 if !1!==O if !7!==O if !4!==4 set 4=O&set go=1
if %go%==0 if !7!==O if !9!==O if !8!==8 set 8=O&set go=1
if %go%==0 if !9!==O if !3!==O if !6!==6 set 6=O&set go=1
if %go%==0 if !2!==O if !8!==O if !5!==5 set 5=O&set go=1
if %go%==0 if !4!==O if !6!==O if !5!==5 set 5=O&set go=1
if %go%==0 if !1!==X if !4!==X if !7!==7 set 7=O&set go=1
if %go%==0 if !2!==X if !5!==X if !8!==8 set 8=O&set go=1
if %go%==0 if !3!==X if !6!==X if !9!==9 set 9=O&set go=1
if %go%==0 if !1!==X if !2!==X if !3!==3 set 3=O&set go=1
if %go%==0 if !4!==X if !5!==X if !6!==6 set 6=O&set go=1
if %go%==0 if !7!==X if !8!==X if !9!==9 set 9=O&set go=1
if %go%==0 if !7!==X if !4!==X if !1!==1 set 1=O&set go=1
if %go%==0 if !8!==X if !5!==X if !2!==2 set 2=O&set go=1
if %go%==0 if !9!==X if !6!==X if !3!==3 set 3=O&set go=1
if %go%==0 if !9!==X if !8!==X if !7!==7 set 7=O&set go=1
if %go%==0 if !6!==X if !5!==X if !4!==4 set 4=O&set go=1
if %go%==0 if !3!==X if !2!==X if !1!==1 set 1=O&set go=1
if %go%==0 if !1!==X if !5!==X if !9!==9 set 9=O&set go=1
if %go%==0 if !3!==X if !5!==X if !7!==7 set 7=O&set go=1
if %go%==0 if !7!==X if !5!==X if !3!==3 set 3=O&set go=1
if %go%==0 if !9!==X if !5!==X if !1!==1 set 1=O&set go=1
::Coded by Liam Allan :D
if %go%==0 if !1!==X if !9!==X if !5!==5 set 5=O&set go=1
if %go%==0 if !3!==X if !7!==X if !5!==5 set 5=O&set go=1
if %go%==0 if !1!==X if !3!==X if !2!==2 set 2=O&set go=1
if %go%==0 if !1!==X if !7!==X if !4!==4 set 4=O&set go=1
if %go%==0 if !7!==X if !9!==X if !8!==8 set 8=O&set go=1
if %go%==0 if !9!==X if !3!==X if !6!==6 set 6=O&set go=1
if %go%==0 if !2!==X if !8!==X if !5!==5 set 5=O&set go=1
if %go%==0 if !4!==X if !6!==X if !5!==5 set 5=O&set go=1
if %go%==1 goto finch
: again
set /a ran=%random%%%9
if %ran%==0 if %go%==0 if not !1!==X if not !1!==O set 1=O&set go=1
if %ran%==1 if %go%==0 if not !2!==X if not !2!==O set 2=O&set go=1
if %ran%==2 if %go%==0 if not !3!==X if not !3!==O set 3=O&set go=1
if %ran%==3 if %go%==0 if not !4!==X if not !4!==O set 4=O&set go=1
if %ran%==4 if %go%==0 if not !5!==X if not !5!==O set 5=O&set go=1
if %ran%==5 if %go%==0 if not !6!==X if not !6!==O set 6=O&set go=1
if %ran%==6 if %go%==0 if not !7!==X if not !7!==O set 7=O&set go=1
::Coded by Liam Allan :D
if %ran%==7 if %go%==0 if not !8!==X if not !8!==O set 8=O&set go=1
if %ran%==8 if %go%==0 if not !9!==X if not !9!==O set 9=O&set go=1
: finch
if %go%==0 goto again
if %t%==X (set t=O) else (set t=X)
goto board
: nowin
echo No one has won.
if %t%==X (set t=O) else (set t=X)
pause >nul
goto start
: xwin
::Coded by Liam Allan :D
echo X wins!
set t=O
set /a xwins=%xwins%+1
pause >nul
goto start
: owin
echo O wins!
set t=X
set /a owins=%owins%+1
pause >nul
goto startEdit of code 2: Why not add some type of design?
Edit of code 3: Some fixes.
Edit of code 4: More fixes.
Edit of code 5: Fixed over-writing the Xs/Os
Edit of code 6: Found a flaw where it wouldn't check if 3=x & 9=x at the same time.
Edit of code 7: Found another flaw, where O wouldn't set on 6 when 3=x & 9=x at the same time.
Enjoy. ^^


