Jogo da Velha em Python: Projeto Educacional
Jogo da Velha em Python: Projeto Educacional
Relatório sobre
“Jogo da Velha ”
Sob o assunto
Programação com Python [22616]
Submetido por
Sob a orientação de
Sr. Emekar S. P
Departamento de Engenharia da Computação
Geralmente, este é um jogo de tabuleiro de estratégia para dois jogadores. O jogo da Velha é
baseado em ter um tabuleiro de jogo (array 2D) de tamanho 3 x 3. Os jogadores alternam colocando Xs
e Os no tabuleiro até que um deles tenha colocado três Xs ou Os em uma linha horizontal,
verticalmente, ou diagonalmente; ou todos os nove espaços do tabuleiro estão preenchidos. O jogador vence se ele/ela
desenha três Xs ou três Os em uma linha. Caso contrário, o jogo é um empate.
Inicialmente, as casas da grade do tabuleiro são inicializadas com zeros. Xs e Os podem ser
denotado por números dentro da grade do tabuleiro por uns e dois, respectivamente. Ou seja, se o jogador um
escolhe X, a localização dessa escolha é registrada como 1 e quando o jogador dois escolhe O
a localização daquela escolha em seu array está registrada como 2. No final, se uma linha de 1s estiver
registrado então o jogador um ganhou o jogo. Ou se uma linha de 2s for registrada assim o jogador dois
ganhou o jogo. Se não, o jogo é um empate. O jogo termina quando não há mais espaço vazio.
campos no array (quadro) para preencher ou se um dos jogadores ganhar o jogo.
Código de programa
theBoard = {'1': ' ' , '2': ' ' , '3': ' ' ,
'4': ' ' , '5': ' ' , '6': ' ' ,
'7': ' ' , '8': ' ' , '9': ' ' }
board_keys = []
def imprimirTabuleiro(tabuleiro):
imprimir(' +tabuleiro['1'] + ' | ' + tabuleiro['2'] + ' | ' + tabuleiro['3']
print(' ---+---+---')
print(' +board['4'] + ' | ' + board['5'] + ' | ' + board['6']
print(' ---+---+---')
print(' +board['7'] + ' | ' + board['8'] + ' | ' + board['9']
Agora vamos escrever a função principal que tem toda a funcionalidade do jogo.
def jogo():
turn = 'X'
count = 0
para i em range(10):
printBoard(theBoard)
move=input("It's your turn," + turn + ". Move to which place? ")
#move = input()
Agora vamos verificar se o jogador X ou O ganhou, para cada movimento após 5 movimentos.
se a contagem >= 5:
se oTabuleiro['1'] == oTabuleiro['2'] == oTabuleiro['3'] != ' ': # atravessando o topo
printBoard(theBoard)
FIM DE JOGO.
print(" ****** PARABÉNS! " +turn + " VOCÊ VENCEU O JOGO ")
******\n\n"
quebrar
elif theBoard['4'] == theBoard['5'] == theBoard['6'] != ' ': # atravessando o meio
imprimirTabuleiro(oTabuleiro)
FIM DE JOGO.
imprimir(" ****** PARABÉNS! " +turn + " VOCÊ VENCEU O JOGO
******
pausa
elif theBoard['7'] == theBoard['8'] == theBoard['9'] != ' ': # atravessando a parte inferior
imprimirTabuleiro(oTabuleiro)
FIM DE JOGO.
print(" ****** PARABÉNS! " +turn + " VOCÊ VENCEU O JOGO ")
******
quebrar
elif theBoard['7'] == theBoard['4'] == theBoard['1'] != ' ': # descendo pelo lado esquerdo
imprimirTabuleiro(oTabuleiro)
FIM DE JOGO.
imprimir(" ****** PARABÉNS! " +turn + " VOCÊ VENCEU O JOGO
******
pausar
elif theBoard['8'] == theBoard['5'] == theBoard['2'] != ' ': # descendo pelo meio
printBoard(theBoard)
FIM DE JOGO.
imprimir(" ****** PARABÉNS! " +turn + " VOCÊ GANHOU O JOGO
******
quebrar
se oTabuleiro['9'] == oTabuleiro['6'] == oTabuleiro['3'] != ' ': # descendo pelo lado direito
printBoard(theBoard)
FIM DE JOGO.
imprimindo(" ****** PARABÉNS! " +turn + " VOCÊ GANHOU O JOGO
******
quebrar
elif theBoard['1'] == theBoard['5'] == theBoard['9'] != ' ': # diagonal
printBoard(theBoard)
FIM DE JOGO.
print(" ****** PARABÉNS! " +turn + " VOCÊ VENCEU O JOGO
******
quebrar
elif theBoard['7'] == theBoard['5'] == theBoard['3'] != ' ': # diagonal
imprimirTabuleiro(oTabuleiro)
FIM DE JOGO.
print(" ****** PARABÉNS! " +turn + " VOCÊ GANHOU O JOGO
******\n\n"
quebrar
Se nem X nem O ganhar e o tabuleiro estiver cheio, declararemos o resultado como 'empate'.
se contagem == 9:
JOGO ACABOU.
*** É UM EMPATE!! ***
quebrar
jogo()
se __name__ == "__main__":
jogo()
Output:
Professor de assunto
Senhor Emekar S. P