O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

[Batch] Jogo do Galo

Iniciado por makergame2000, 18/01/2017 às 08:57


Este é um programa antigo que finha feito em Batch, o jogo é para dois jogadores

O programa agora vê quem ganha e perde




@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

Também conhecido como Jogo da Velha. Muito massa!