A
Relatório Sobre
“Jogo da Velha ”
Sob o assunto
Programação com Python [22616]
Submetido por
Sr. No Número de Matrícula Nome do aluno
1 1700100271 Sra. Shinde Mohini Anandrao
2 1700100276 Srta. Jagtap Sakshi Krushna
Sob a orientação de
Sr. Emekar S. P
Departamento de Engenharia da Computação
Escola Politécnica do Governo, Karad
1.0 Rationale
O objetivo deste projeto é desenvolver o famoso jogo de tabuleiro Jogo da Velha
Jogo da velha para dois jogadores.
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 dos dois tenha colocado três Xs ou Os em uma linha horizontal,
verticalmente, ou diagonalmente; ou todos os nove quadrados do tabuleiro estão preenchidos. O jogador ganha se ele/ela
desenha três Xs ou três Os em uma linha. Caso contrário, o jogo é um empate.
Inicialmente, os quadrados da grade do tabuleiro são inicializados com zeros. Os X e os O podem ser
denoted by numbers inside the board grid by ones and twos respectively. I.e. if player one
escolhe X, a localização dessa escolha é registrada como 1 e quando o jogador dois escolhe O
the location of that choice in your array is registered as 2. At the endif a row of 1s is
registrado, então o jogador um venceu o jogo. Ou se uma linha de 2s for registrada, assim o jogador dois.
ganhou o jogo. Se não, o jogo é empate. O jogo termina quando não houver mais espaço vazio.
fields in the array (board) to fill or if one of the players wins the game.
2.0 Objetivo do projeto
1. Desenvolver um jogo interessante para crianças se divertirem em seu tempo livre.
2. Desenvolver o famoso jogo de tabuleiro Jogo da Velha para dois jogadores.
3. Ser um dos jogadores a obter três símbolos iguais em linha - horizontalmente, verticalmente ou
diagonalmente em uma grade de 3 x 3.
3.0 Resultados do Curso Alcançados
1. Exibir mensagem na tela usando script Python no IDE.
2. Desenvolver um programa em python para demonstrar o uso de Operadores.
3. Realizar operações em estruturas de dados em Python.
4. Desenvolver funções para problemas dados.
4.0 Revisão da Literatura
Author (Publication) Abstract Conclusão
Kalyani Adawadkar Este artigo descreve o principal. Usamos este artigo para aprender.
(Instituto Sigma de recursos e aplicações de diferentes recursos disponíveis em
Engenharia Programação em Python Python e suas aplicações.
David Beazley Este livro contém um completo Usamos este livro para aprender o
(Publicações Sams) aprendizado de Programação em Python basic concepts of Python
Programação
Tom Gutschmidt Isto livro coberturas jogo Nós usamos este livro para aprender como
(Premier Press) programação em três diferentes construções eficientes, flexíveis e bem-
linguagens de script, ou seja, Python, Lua programas e sistemas integrados
e Ruby
Tabela 1 - Revisão da Literatura
5.0 Procedimento atual seguido
O procedimento real seguido durante o projeto é mencionado na tabela abaixo com
a data de início planejada e a data de conclusão final.
[Link] Details of activity Planejado Planejado Nome do responsável
Data de início Finish date Membros da equipe
1. Decidir o tema do projeto 16/12/2019 23/12/2019 1. Shinde Mohini
2. Jagtap Sakshi
2. Decida as características do projeto 23/12/2019 06/01/2020 1. Shinde Mohini
[Link] Sakshi
3. Prepare proposta de projeto 06/01/2020 13/01/2020 1. Shinde Mohini
2. Jagtap Sakshi
4. Decida diferente data 13/01/2020 27/01/2020 Shinde Mohini
estruturas 2. Jagtap Sakshi
5. Desenvolver programa real 27/01/2020 17/02/2020 1. Shinde Mohini
código 2. Jagtap Sakshi
6. Depure o código do programa 17/02/2020 02/03/2020 1. Shinde Mohini
2. Jagtap Sakshi
7. Preparando o relatório final do projeto 02/03/2020 16/03/2020 1. Shinde Mohini
2. Jagtap Sakshi
Tabela 2 - Procedimento real seguido
Código do programa
# Implementação do jogo da velha para dois jogadores em Python.
theBoard = {'1': ' ' , '2': ' ' , '3': ' ' ,
'4': ' ' , '5': ' ' , '6': ' ' ,
'7': ' ' , '8': ' ' , '9': ' ' }
board_keys = []
para chave no tabuleiro:
board_keys.append(chave)
def imprimirTabuleiro(tabuleiro):
print(' '+tabuleiro['1'] + ' | ' + tabuleiro['2'] + ' | ' + tabuleiro['3']
print(' ---+---+---')
print(' '+tabuleiro['4'] + ' | ' + tabuleiro['5'] + ' | ' + tabuleiro['6']
print(' ---+---+---')
print(' '+ board['7'] + ' | ' + board['8'] + ' | ' + board['9']
# Agora vamos escrever a função principal que possui 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()
se oTabuleiro[movimento] == ' ':
theBoard[move] = turno
contagem += 1
senão:
AQUELE LUGAR JÁ ESTÁ OCUPADO. Mova-se para qual lugar?
continuar
Agora vamos verificar se o jogador X ou O ganhou, a cada movimento após 5 jogadas.
se a contagem >= 5:
se oTabuleiro['1'] == oTabuleiro['2'] == oTabuleiro['3'] != ' ': # atravessando o topo
printBoard(theBoard)
JOGO FINALIZADO.
print(" ****** PARABÉNS! " + turn + " VOCÊ GANHOU O JOGO ")
******
quebrar
elif oTabuleiro['4'] == oTabuleiro['5'] == oTabuleiro['6'] != ' ': # atravessando o meio
printBoard(theBoard)
FIM DO JOGO.
imprimir(" ****** PARABÉNS! " +turn + " VOCÊ GANHOU O JOGO
******
quebrar
elif theBoard['7'] == theBoard['8'] == theBoard['9'] != ' ': # ao longo da parte inferior
imprimirTabuleiro(oTabuleiro)
FIM DE JOGO.
imprimir(" ****** PARABÉNS! " +turn + " VOCÊ GANHOU O JOGO
******
quebrar
elif theBoard['7'] == theBoard['4'] == theBoard['1'] != ' ': # descendo pelo lado esquerdo
printBoard(theBoard)
FIM DE JOGO.
print(" ****** PARABÉNS! " +turn + " VOCÊ GANHOU O JOGO")
******
quebrar
elif theBoard['8'] == theBoard['5'] == theBoard['2'] != ' ': # descendo pelo meio
printBoard(theBoard)
FIM DE JOGO.
print(" ****** PARABÉNS! " +turn + " VOCÊ VENCEU O JOGO")
******
quebrar
elif theBoard['9'] == theBoard['6'] == theBoard['3'] != ' ': # para baixo do lado direito
printBoard(theBoard)
FIM DE JOGO.
imprimido(" ****** PARABÉNS! " +turn + " VOCÊ GANHOU O JOGO
******\n\n
quebrar
elif theBoard['1'] == theBoard['5'] == theBoard['9'] != ' ': # diagonal
imprimirTabuleiro(oTabuleiro)
FIM DE JOGO.
imprimir(" ****** 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 vencer e o tabuleiro estiver cheio, iremos declarar o resultado como 'empate'.
se contagem == 9:
FIM DE JOGO.
*** É UM EMPATE!! ***
quebrar
Agora temos que trocar o jogador a cada movimento.
se turno =='X':
turn = 'O'
senão:
turn = 'X'
# Now we will ask if player wants to restart the game or not.
restart = input("Do want to play Again?(y/n)")
se reiniciar == "s" ou reiniciar == "S":
para chave em chaves_quadro:
theBoard[key] = " "
jogo()
se __name__ == '__main__':
jogo()
Saída:
Fig 1: Tabuleiro do Jogo da Velha
Fig 2: Mensagem exibida se você escolher a posição que já foi escolhida
Fig 3: Message displayed after winning the game
Fig 4: Mensagem exibida após perder o jogo
6.0 Recursos Reais Necessários
Os recursos utilizados durante a conclusão do projeto estão mencionados abaixo
[Link] Name of resources Quantidade Observações
material
1. YouTube Formato de arquivo MP4, 640 x 1
360 pixels
2. Microsoft Word versão de 2010 1
3. OCIOSO Version 3.8.1 1
4. Laptop Dell, RAM 8 GB, 1
Disco rígido de 1 TB, i3
processador
8.0 Habilidade desenvolvida/aprendizado a partir deste Micro-Projeto
Nós aprendemos,
1. Para demonstrar o uso de Operadores.
2. Realizar operações em estruturas de dados no Python.
3. Desenvolver funções para problemas dados.
4. Habilidades de comunicação eficientes.
5. Trabalhando como membro da equipe para desenvolver o programa em C.
6. Desenvolvendo qualidades de liderança.
9.0 Aplicações do Projeto
Este projeto pode ser usado como um jogo interessante para crianças passarem seu tempo livre.
2. O projeto também pode ser usado para entender o.
3. O projeto pode ser utilizado no aprendizado do
Professor de Disciplina
Senhor Emekar S. P