Jogo da Velha em Python
Olá querido leitor e leitora, tudo certo? Tomara que sim, pois hoje vamos construir juntos um jogo da velha em Python com menos de 100 linhas de código.
Será um programa de terminal, então não espera a mais bonita e inovadora interface gráfica. Neste poste será feito em um único arquivo python, porem pode ser feito em dois para melhor organização, como você pode ver no meu Github.
As funções
Para realizar esse projeto vamos fazer algumas funções (def) para melhor organização e não precisar repetir códigos. As defs que iremos usar serão:
- criarBoard - para criar a estrutura do jogo
- printBoard - para mostrar a estrutura na tela
- getInputValido - para verificar se a posição que o usuário informa é valida
- verificaMovimento - para verificar se não tem nada nessa posição
- fazMovimento - realizar a jogada
- verificaGanhador - para saber quando o jogo acaba, com vencedor ou empate
Criando as def
Antes de começar a criar as definições, vamos criar duas variáveis:
- vazio - define o lugar como vazio
- token - jogadores "X" e "O"
Agora podemos começar a trabalhar com as definições. A primeira será a função criarBroad, que nesse caso faz uma lista de listas que forma a estrutura do jogo, então retornamos broad. Na próxima def, printBoard, criamos um loop, com o for para mostrar e deixa a estrutura no formato do jogo da velha.
Vamos criar a def"getInputValido". Vale ressaltar que nessa def vamos colocar um parâmetro "message". Começamos com um "try" onde criaremos a variável "n" que recebe o número e então um if para verificar se o número está entre 1 e 3 e então diminuímos um valor dele, pois uma lista começa em 0 e como vamos inserir em uma lista, não queremos inserir no lugar errado.
A próxima def é "verificarMovimento" que vê se pode fazer o movimento e depois outra def para realizar o movimento. Aqui usamos a variável "token" para vem qual jogar é, e então inserir o valor correto (X, O).
Chamando funções
Criamos uma variável "c" e deixamos ela como uma string vazia. Então um while para repetir o jogo enquanto a variável "c" for diferente de "sim", onde no final do loop perguntamos ao usuário se ele quer continuar e armazenamos em "c"
Colocamos a variável player como 0, outra variável colocamos a def criarBoard(), e outra variável vencedor recebendo a def verificaGanhador(broad). Começamos o loop em quando não houver vencedor.
Comentários
Postar um comentário