Este é um programa antigo que finha feito em Batch, o jogo é para dois jogadores
O programa agora vê quem ganha e perde
O programa agora vê quem ganha e perde
Código:
@echo off
:inic
::Posição na tela
set p1=1
set p2=2
set p3=3
set p4=4
set p5=5
set p6=6
set p7=7
set p8=8
set p9=9
::Vares da posição livre
set a1=1
set a2=1
set a3=1
set a4=1
set a5=1
set a6=1
set a7=1
set a8=1
set a9=1
set c1=1
set c2=1
set c3=1
set c4=1
set c5=1
set c6=1
set c7=1
set c8=1
set c9=1
:topo
cls
echo [%p1%-%p2%-%p3%]
echo [%p4%-%p5%-%p6%]
echo [%p7%-%p8%-%p9%]
set /p x=
if "%x%" EQU "repete" goto inic
::Coloca x na posição se for 1.
if %a1% EQU 1 (
if %x% EQU 1 (
set p1=X
set a1=0
goto testax
)
)
if %a2% EQU 1 (
if %x% EQU 2 (
set p2=X
set a2=0
goto testax
)
)
if %a3% EQU 1 (
if %x% EQU 3 (
set p3=X
set a3=0
goto testax
)
)
if %a4% EQU 1 (
if %x% EQU 4 (
set p4=X
set a4=0
goto testax
)
)
if %a5% EQU 1 (
if %x% EQU 5 (
set p5=X
set a5=0
goto testax
)
)
if %a6% EQU 1 (
if %x% EQU 6 (
set p6=X
set a6=0
goto testax
)
)
if %a7% EQU 1 (
if %x% EQU 7 (
set p7=X
set a7=0
goto testax
)
)
if %a8% EQU 1 (
if %x% EQU 8 (
set p8=X
set a8=0
goto testax
)
)
if %a9% EQU 1 (
if %x% EQU 9 (
set p9=X
set a9=0
goto testax
)
)
goto topo
:testax
::Linhas horizontal
if "%p1%" == "X" if "%p2%" == "X" if "%p3%" == "X" GOTO final1
if "%p4%" == "X" if "%p5%" == "X" if "%p6%" == "X" GOTO final1
if "%p7%" == "X" if "%p8%" == "X" if "%p9%" == "X" GOTO final1
::Linha obliqua
if "%p1%" == "X" if "%p5%" == "X" if "%p9%" == "X" GOTO final1
if "%p7%" == "X" if "%p5%" == "X" if "%p3%" == "X" GOTO final1
::linha vetical
if "%p1%" == "X" if "%p4%" == "X" if "%p7%" == "X" GOTO final1
if "%p2%" == "X" if "%p5%" == "X" if "%p8%" == "X" GOTO final1
if "%p3%" == "X" if "%p6%" == "X" if "%p9%" == "X" GOTO final1
goto jogabola
goto topo
:jogabola
cls
echo [%p1%-%p2%-%p3%]
echo [%p4%-%p5%-%p6%]
echo [%p7%-%p8%-%p9%]
set /p x=
if %c1% EQU 1 (
if %a1% EQU 1 (
if %x% EQU 1 (
set p1=O
set c1=0
goto testabola
)
)
)
if %c2% EQU 1 (
if %a2% EQU 1 (
if %x% EQU 2 (
set p2=O
set c2=0
goto testabola
)
)
)
if %c3% EQU 1 (
if %a3% EQU 1 (
if %x% EQU 3 (
set p3=O
set c3=0
goto testabola
)
)
)
if %c4% EQU 1 (
if %a4% EQU 1 (
if %x% EQU 4 (
set p4=O
set c4=0
goto testabola
)
)
)
if %c5% EQU 1 (
if %a5% EQU 1 (
if %x% EQU 5 (
set p5=O
set c5=0
goto testabola
)
)
)
if %c6% EQU 1 (
if %a6% EQU 1 (
if %x% EQU 6 (
set p6=O
set c6=0
goto testabola
)
)
)
if %c7% EQU 1 (
if %a7% EQU 1 (
if %x% EQU 7 (
set p7=O
set c7=0
goto testabola
)
)
)
if %c8% EQU 1 (
if %a8% EQU 1 (
if %x% EQU 8 (
set p8=O
set c8=0
goto testabola
)
)
)
if %c9% EQU 1 (
if %a9% EQU 1 (
if %x% EQU 9 (
set p9=O
set c9=0
goto testabola
)
)
)
if "%x%" EQU "repete" goto inic
goto jogabola
:testabola
::Linhas horizontal
if "%p1%" == "O" if "%p2%" == "O" if "%p3%" == "O" GOTO final2
if "%p4%" == "O" if "%p5%" == "O" if "%p6%" == "O" GOTO final2
if "%p7%" == "O" if "%p8%" == "O" if "%p9%" == "O" GOTO final2
::Linha obliqua
if "%p1%" == "O" if "%p5%" == "O" if "%p9%" == "O" GOTO final2
if "%p7%" == "O" if "%p5%" == "O" if "%p3%" == "O" GOTO final2
::linha vetical
if "%p1%" == "O" if "%p4%" == "O" if "%p7%" == "O" GOTO final2
if "%p2%" == "O" if "%p5%" == "O" if "%p8%" == "O" GOTO final2
if "%p3%" == "O" if "%p6%" == "O" if "%p9%" == "O" GOTO final2
goto topo
:final2
cls
echo O Ganha!
pause
goto inic
:final1
cls
echo X Ganha!
pause
goto inic