mercredi 18 juin 2014

1 Was Unexpected At This Time


Vote count:

-1




Today I was trying to create a simple two player game of Tic Tac Toe in batch when every time the second player would go it would say "1 was unexpected at this time". Here is my code:



@echo off
setlocal EnableDelayedExpansion
title Tic Tac Toe
goto Sets

:Sets
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 s1=A
set s2=A
set s3=A
set s4=A
set s5=A
set s6=A
set s7=A
set s8=A
set s9=A
goto BoardX

:BoardX
echo Player: X
echo %a1% %a2% %a3%
echo %a4% %a5% %a6%
echo %a7% %a8% %a9%
echo Please select what square you would like to select.
set /p BoardX=
if %boardX% EQU 1 goto x1
if %boardX% EQU 2 goto x2
if %boardX% EQU 3 goto x3
if %boardX% EQU 4 goto x4
if %BoardX% EQU 5 goto x5
if %BoardX% EQU 6 goto x6
if %BoardX% EQU 7 goto x7
if %BoardX% EQU 8 goto x8
if %BoardX% EQU 9 goto x9
goto BoardX

:x1
if %s1% EQU N goto BoardX
set a1=X
set s1=N
set /a moves=%moves%+1
goto CheckX

:x2
if %s2% EQU N goto BoardX
set a2=X
set s2=N
set /a moves=%moves%+1
goto CheckX

:x3
if %s3% EQU N goto BoardX
set a3=X
set s3=N
set /a moves=%moves%+1
goto CheckX

:x4
if %s4% EQU N goto BoardX
set a4=X
set s4=N
set /a moves=%moves%+1
goto CheckX

:x5
if %s5% EQU N goto BoardX
set a5=X
set s5=N
set /a moves=%moves%+1
goto CheckX

:x6
if %s6% EQU N goto BoardX
set a6=X
set s6=N
set /a moves=%moves%+1
goto CheckX

:x7
if %s7% EQU N goto BoardX
set a7=X
set s7=N
set /a moves=%moves%+1
goto CheckX

:x8
if %s8% EQU N goto BoardX
set a8=X
set s8=N
set /a moves=%moves%+1
goto CheckX

:x9
if %s9% EQU N goto BoardX
set a9=X
set s9=N
set /a moves=%moves%+1
goto CheckX

:CheckX
::Horizontal
if %a1%+%a2%+%a3% EQU X+X+X goto Xwin
if %a4%+%a5%+%a6% EQU X+X+X goto Xwin
if %a7%+%a8%+%a9% EQU X+X+X goto Xwin
::Vertical
if %a1%+%a4%+%a7% EQU X+X+X goto Xwin
if %a2%+%a5%+%a8% EQU X+X+X goto Xwin
if %a3%+%a6%+%a9% EQU X+X+X goto Xwin
::Diagonal
if %a1%+%a5%+%a9% EQU X+X+X goto Xwin
if %a3%+%a5%+%a7% EQU X+X+X goto Xwin
if %moves% EQU 9 goto draw
goto BoardO

:BoardO
echo Player: O
echo %a1% %a2% %a3%
echo %a4% %a5% %a6%
echo %a7% %a8% %a9%
echo Please select what square you would like to select.
set /p Board0=
if %BoardO% EQU 1 goto o1
if %BoardO% EQU 2 goto o2
if %BoardO% EQU 3 goto o3
if %BoardO% EQU 4 goto o4
if %BoardO% EQU 5 goto o5
if %BoardO% EQU 6 goto o6
if %BoardO% EQU 7 goto o7
if %BoardO% EQU 8 goto o8
if %BoardO% EQU 9 goto o9
goto BoardO

:o1
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o2
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o3
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o4
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o5
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o6
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o7
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o8
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:o9
if %s1% EQU N goto BoardO
set a1=O
set s1=N
set /a moves=%moves%+1
goto CheckO

:CheckO
::Horizontal
if %a1%+%a2%+%a3% EQU O+O+O goto Owin
if %a4%+%a5%+%a6% EQU O+O+O goto Owin
if %a7%+%a8%+%a9% EQU O+O+O goto Owin
::Vertical
if %a1%+%a4%+%a7% EQU O+O+O goto Owin
if %a2%+%a5%+%a8% EQU O+O+O goto Owin
if %a3%+%a6%+%a9% EQU O+O+O goto Owin
::Diagonal
if %a1%+%a5%+%a9% EQU O+O+O goto Owin
if %a3%+%a5%+%a7% EQU O+O+O goto Owin
if %moves% EQU 9 goto draw
goto BoardX

:Xwin
echo Congrats X YOU WIN!
echo Sorry O you lost!
echo To play again press Enter
pause >nul
goto Sets

:OWin
echo Congrats O YOU WIN!
echo Sorry X you lost!
echo To play again press Enter
pause >nul
goto Sets


I was wondering if y'all could tell me what I was doing. Thanks so much and have a nice day.



asked 1 min ago






Aucun commentaire:

Enregistrer un commentaire