|
Python - Jogo da Velha: Guia Completo para Desenvolver seu Próprio Jogo | |
| Canal Qb | ||
Introdução ao Jogo da Velha em Python
O Jogo da Velha é um dos jogos mais clássicos e simples, muito utilizado para introduzir conceitos de programação. Neste artigo, apresentamos um código completo em Python para você criar seu próprio jogo, aprender sobre listas, funções e controle de fluxo, além de garantir um aprendizado prático e divertido.
Como funciona o jogo
O Jogo da Velha é disputado entre dois jogadores que se alternam para marcar posições em uma grade 3x3. O objetivo é alinhar três símbolos iguais na horizontal, vertical ou diagonal. Este script em Python simula essa dinâmica, permitindo que dois jogadores humanos joguem no console.
Código completo com explicações
Função para desenhar o tabuleiro
A função desenha_tabuleiro exibe o estado atual da grade, mostrando as posições preenchidas e as vagas livres com o caractere _.
def desenha_tabuleiro(tabuleiro):
print(" 0 1 2")
for i in range(3):
print(i, end=' ')
for j in range(3):
if tabuleiro[i][j] == ' ':
print('_', end=' ')
else:
print(tabuleiro[i][j], end=' ')
print()
Função para verificar vitória
A função verifica_vitoria checa todas as possíveis linhas, colunas e diagonais para determinar se um jogador venceu.
def verifica_vitoria(tabuleiro, simbolo):
for i in range(3):
if tabuleiro[i][0] == simbolo and tabuleiro[i][1] == simbolo and tabuleiro[i][2] == simbolo:
return True
if tabuleiro[0][i] == simbolo and tabuleiro[1][i] == simbolo and tabuleiro[2][i] == simbolo:
return True
if tabuleiro[0][0] == simbolo and tabuleiro[1][1] == simbolo and tabuleiro[2][2] == simbolo:
return True
if tabuleiro[0][2] == simbolo and tabuleiro[1][1] == simbolo and tabuleiro[2][0] == simbolo:
return True
return False
Função principal do jogo
A função jogar controla o fluxo do jogo, alternando entre os jogadores, capturando as jogadas, validando posições e finalizando o jogo quando alguém vence.
def jogar():
tabuleiro = [[' ' for j in range(3)] for i in range(3)]
jogador = 'X'
while True:
desenha_tabuleiro(tabuleiro)
try:
linha = int(input(f"Digite a linha para {jogador} (0, 1 ou 2): "))
coluna = int(input(f"Digite a coluna para {jogador} (0, 1 ou 2): "))
if linha not in [0,1,2] or coluna not in [0,1,2]:
print("Entrada inválida! Use números entre 0 e 2.")
continue
except ValueError:
print("Por favor, digite um número válido.")
continue
if tabuleiro[linha][coluna] == ' ':
tabuleiro[linha][coluna] = jogador
if verifica_vitoria(tabuleiro, jogador):
desenha_tabuleiro(tabuleiro)
print(f"Jogador {jogador} venceu!")
break
jogador = 'O' if jogador == 'X' else 'X'
else:
print("Esta posição já está ocupada!")
desenha_tabuleiro(tabuleiro)
jogar()
Detalhes técnicos e melhorias
- O tabuleiro é representado por uma lista de listas, facilitando a manipulação dos dados.
- O código trata entradas inválidas e evita sobrescrever posições já ocupadas.
- A troca de jogadores é feita de forma simples e eficiente com operador ternário.
- Podemos expandir o jogo adicionando IA ou interface gráfica em projetos futuros.
Conclusão
Este exemplo prático é ideal para quem está aprendendo Python e quer consolidar conceitos básicos de programação através de um jogo clássico. O código está pronto para ser executado diretamente no seu ambiente Python, oferecendo uma experiência interativa e educativa.
Para mais conteúdos como este, visite o canal oficial no YouTube.

Comentários
Comente só assim vamos crescer juntos!