Skip to content

Instantly share code, notes, and snippets.

@faizul726
Last active September 21, 2024 06:39
Show Gist options
  • Save faizul726/602bc5326a625e04e6d7d748c54deb96 to your computer and use it in GitHub Desktop.
Save faizul726/602bc5326a625e04e6d7d748c54deb96 to your computer and use it in GitHub Desktop.
TicTacToe made in batch. Still can't find winner tho... play using qwe, asd, zxc
@echo off
:start
setlocal
title Tic Tac Toe in Command Prompt by faizul726
set turn=0
set "i=[ ]"
set "ii=[ ]"
set "iii=[ ]"
set "iv=[ ]"
set "v=[ ]"
set "vi=[ ]"
set "vii=[ ]"
set "viii=[ ]"
set "ix=[ ]"
set "x=[x]"
set "o=[o]"
:GAME
cls
echo Born on 20240921
echo.
set errorlevel=
echo %i% %ii% %iii%
echo.
echo %iv% %v% %vi%
echo.
echo %vii% %viii% %ix%
echo.
echo.
if defined filled1 if defined filled2 if defined filled3 if defined filled4 if defined filled5 if defined filled6 if defined filled7 if defined filled8 if defined filled9 goto END
if %turn% equ 0 (echo [Your turn]) else (echo [Opponent's turn])
echo.
echo.
choice /c qweasdzxc /n
if %errorlevel% equ 1 (
if defined filled1 goto GAME
set filled1=1
if %turn% equ 1 (
set i=%o%
set turn=0
goto GAME
) else (
set i=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 2 (
if defined filled2 goto GAME
set filled2=1
if %turn% equ 1 (
set ii=%o%
set turn=0
goto GAME
) else (
set ii=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 3 (
if defined filled3 goto GAME
set filled3=1
if %turn% equ 1 (
set iii=%o%
set turn=0
goto GAME
) else (
set iii=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 4 (
if defined filled4 goto GAME
set filled4=1
if %turn% equ 1 (
set iv=%o%
set turn=0
goto GAME
) else (
set iv=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 5 (
if defined filled5 goto GAME
set filled5=1
if %turn% equ 1 (
set v=%o%
set turn=0
goto GAME
) else (
set v=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 6 (
if defined filled6 goto GAME
set filled6=1
if %turn% equ 1 (
set vi=%o%
set turn=0
goto GAME
) else (
set vi=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 7 (
if defined filled7 goto GAME
set filled7=1
if %turn% equ 1 (
set vii=%o%
set turn=0
goto GAME
) else (
set vii=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 8 (
if defined filled8 goto GAME
set filled8=1
if %turn% equ 1 (
set viii=%o%
set turn=0
goto GAME
) else (
set viii=%x%
set turn=1
goto GAME
)
)
if %errorlevel% equ 9 (
if defined filled9 goto GAME
set filled9=1
if %turn% equ 1 (
set ix=%o%
set turn=0
goto GAME
) else (
set ix=%x%
set turn=1
goto GAME
)
)
:END
echo.
echo Game ended. Play another? [Y/N]
echo.
choice /c yn /n
if %errorlevel% equ 1 (endlocal && goto start) else (goto:EOF)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment