Como fazer um jogo Tic Tac Toe em Python com as Code Exemplo
⚡ Resumo Inteligente
Jogo da Velha em Python É um projeto para iniciantes que recria o clássico jogo de tabuleiro para dois jogadores. Construí-lo fortalece habilidades essenciais como loops, condicionais, listas, funções e recursão, enquanto verifica linhas, colunas e diagonais para encontrar um vencedor.
Jogo Tic Tac Toe em Python É um projeto interessante que você pode experimentar. É um projeto legal e divertido para resolver um desafio e pode ajudá-lo a dominar conceitos básicos em PythonCriar um jogo da velha divertido ajuda você a desenvolver suas habilidades.
Você pode usar um bom Python editor como PyCharm ou a interface de linha de comando.
Como jogar o jogo da velha?
Jogo da Velha é um jogo simples para dois jogadores que qualquer pessoa pode jogar sem precisar de um tabuleiro. Consiste em dois jogadores marcando diferentes casas até que o jogo termine em vitória ou empate.
Eis como jogar o jogo da velha.
Passo 1) O jogo da velha começa com células vazias em uma grade quadrada. Este é o tabuleiro do jogo da velha.
Passo 2) Ambos os jogadores escolhem entre dois símbolos, geralmente Xs ou Os. Você pode usar qualquer outro símbolo exclusivo do jogo.
Passo 3) O jogador da vez marca preenchendo as células do tabuleiro do Jogo da Velha até que um jogador complete uma combinação vencedora. Essa combinação vencedora consiste em preencher uma linha, coluna ou diagonal inteira com o mesmo sinal.
Passo 4) Um empate também é possível caso todas as células estejam preenchidas sem um vencedor aparente.
Requisitos
Construindo o Jogo da Velha Python O projeto requer um conhecimento básico de Python linguagem de programação. Inclui a compreensão de laços "for" e iterações, e para que serve uma instrução "if" em Python.
Você também precisa ter Python e uma Python Para jogar o Jogo da Velha, você precisa ter um editor de texto instalado no seu computador. Python projeto. Como este é um jogo da velha de nível iniciante em PythonVocê não precisará de nenhum. Python biblioteca.
Você pode precisar de algumas habilidades de depuração para encontrar soluções para erros em seu código, e também deve ter um conhecimento adequado dos componentes do jogo.
Tic Tac Toe Python Algoritmo
Siga estes passos para criar um jogo da velha em Python linguagem de programação:
Passo 1) Crie o tabuleiro para começar o jogo da velha.
Passo 2) Solicite ao usuário que decida as dimensões do tabuleiro de jogo.
Passo 3) Escolha aleatoriamente o primeiro jogador.
Passo 4) O jogo da velha começa.
Passo 5) Os jogadores jogam selecionando um espaço vazio no tabuleiro.
Passo 6) Preencha o espaço vazio selecionado com o sinal do jogador.
Passo 7) Determine se um jogador ganha ou empata no jogo usando a lógica do jogo.
Passo 8) Exiba o tabuleiro de jogo após cada jogada se nenhum jogador ganhar ou empatar com o segundo jogador.
Passo 9) Exiba uma mensagem de empate ou vitória, respectivamente.
Passo 10) Encerre o jogo da velha com opções para iniciar um novo jogo.
completo Python código para jogo da velha
# Guru99 # Code developed by Guru99.com # Guru99 tic-tac-toe game #Get input def getInput(prompt, cast=None, condition=None, errorMessage=None): while True: try: val = cast(input(prompt)) assert condition is None or condition(val) return val except: print(errorMessage or "Invalid input.") # Print the game board def printBoard(board): print() for row in board: print(*row) print() # Check if player won using the winning combinations def checkWin(board): # Check rows for row in range(len(board)): for col in range(len(board)-1): if board[row][col] == "_" or board[row][col+1] == "_" or board[row][col] != board[row][col+1]: break else: return True # Check column numbers for col in range(len(board)): for row in range(len(board)-1): if board[row][col] == "_" or board[row+1][col] == "_" or board[row][col] != board[row+1][col]: break else: return True # Check left diagonal for cell in range(len(board)-1): if board[cell][cell] == "_" or board[cell+1][cell+1] == "_" or board[cell][cell] != board[cell+1][cell+1]: break else: return True # Check right diagonal for cell in range(len(board)-1): emptyCell = board[cell][len(board)-cell-1] == "_" or board[cell+1][len(board)-cell-2] == "_" different = board[cell][len(board)-cell-1] != board[cell+1][len(board)-cell-2] if emptyCell or different: break else: return True # No win return False # Play tic tac toe game def play(): # Introduction print("------------\nN-DIMENSIONAL TIC TAC TOE game by guru 99.com \n------------") # Set up variables N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ", cast=int, condition=lambda x: x >= 3, errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com") board = [['_'] * N for _ in range(N)] used = 0 turn = 0 # Play guru99 tic tac toe game in Python using while infinite loop while True: # Print guru99 tic tac toe game board printBoard(board) # Get user pick pick = getInput(prompt=f"Player {turn+1} - Pick location (row, col): ", cast=lambda line: tuple(map(int, line.split(" "))), condition=lambda pair: min(pair) >= 0 and max(pair) < N and board[pair[0]][pair[1]] == "_", errorMessage="Invalid input. Please enter a valid, unoccupied location as an integer pair.") # Populate location board[pick[0]][pick[1]] = "X" if turn == 0 else "O" used += 1 # Check for win #Guru99 tutorial if checkWin(board): printBoard(board) print(f"Game over, Player {turn+1} wins.") break # Check for tie elif used == N*N: printBoard(board) print("Game over. Players have tied the match.") print("Guru99.com tic tac toe game ") break # If no win yet, update next user turn = (turn+1)%2 # Check for rematch playAgain = getInput(prompt="Play Guru99 tic tac toe_Game again? (y/n): ", cast=str, condition=lambda ans: ans.strip("\n").lower() in {"y", "n"}, errorMessage="Invalid input. Please enter 'y' or 'n'.") if playAgain == 'n': # End the game print("\nGuru99 TicTacToe game ended.") return else: # Rematch play() # Main if __name__ == '__main__': play()
Tic Tac Toe Python Code saída
Após executar o código-fonte acima, o resultado esperado para um tabuleiro de Jogo da Velha 3x3 é o seguinte:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _ Player 1 - Pick location (row, col): 1 1 _ _ _ _ X _ _ _ _ Player 2 - Pick location (row, col): 0 1 _ O _ _ X _ _ _ _ Player 1 - Pick location (row, col): 1 2 _ O _ _ X X _ _ _ Player 2 - Pick location (row, col): 0 2 _ O O _ X X _ _ _ Player 1 - Pick location (row, col): 1 0 _ O O X X X _ _ _ Game over, Player 1 wins. Play Guru99 tic tac toe_Game again? (y/n):
completo Code Breakdown
Criar Jogo da Velha em Python É simples. Vamos analisar as diferentes funções em partes para entender o que está acontecendo em cada linha:
Imprimindo o quadro
O tabuleiro de Jogo da Velha é o principal visor do jogo. PythonUma janela de exibição é usada para mostrar o tabuleiro do jogo.
Aqui estão os passos que o ajudarão a criar um tabuleiro para Jogo da Velha em Python:
Python código para Tic Tac Toe
def getInput(prompt, cast=None, condition=None, errorMessage=None): while True: try: val = cast(input(prompt)) assert condition is None or condition(val) return val except: print(errorMessage or "Invalid input.") # Print the board def printBoard(board): print() for row in board: print(*row) print() N = getInput(prompt="Guru99 says>>> Enter N, the dimensions of the board: ", cast=int, condition=lambda x: x >= 3, errorMessage="Invalid input. Please enter an integer greater than or equal to 3 as explained on guru99.com") board = [['_'] * N for _ in range(N)] used = 0 turn = 0 printBoard(board)
Code saída:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
Jogo Tic Tac Toe – arranjo vencedor
Para verificar se algum jogador ganhou, precisamos verificar as combinações vencedoras nas linhas, colunas e diagonais. Se houver um vencedor, precisamos mostrar uma mensagem vencedora.
Linhas de altura
- Para a linha, a função pega cada par consecutivo de colunas e verifica se há uma combinação vencedora.
- O primeiro jogador a preencher as linhas vence. O segundo jogador perde assim.
- Se um par de colunas consecutivas for igual, então é óbvio que todos os elementos dentro dessa linha também serão iguais.
- Se dois deles forem diferentes ou a linha contiver uma célula vazia, ainda não há vencedor.
- Em seguida, implementamos condições de perda e adicionamos uma pausa. Se alguma destas condições de derrota for verdadeira, não tivemos um vencedor na linha marcada.
- A declaração else fornece um retorno verdadeiro para mostrar que há um vencedor.
- A quebra sai deste loop para prosseguir para a próxima linha.
colunas
Para as colunas, repetimos a mesma função das linhas. Verificamos se um jogador ganhou depois que cada jogador escolhe seu lugar.
Vitórias na linha diagonal
Para a diagonal esquerda, a tarefa torna-se mais simples. Estaremos sempre comparando as células nas diagonais. No entanto, caso não haja vencedor, podemos prosseguir para a próxima instrução.
Jogue a lógica do jogo
Esta é a principal função do jogo. Para isso podemos utilizar variáveis que armazenam informações.
- A primeira variável é o tamanho da placa armazenado em “N”. O jogo obterá o tamanho do tabuleiro após solicitar ao usuário que insira um número.
- Então, quando você insere o valor, ele é processado.
- Também criamos uma mensagem de erro para mostrar aos jogadores quando algum número inválido é digitado.
- Podemos então criar duas variáveis que preenchem um “X” ou um “O” quando uma célula é preenchida.
- Em seguida, mostre aos jogadores o tabuleiro do jogo. Depois disso, obtenha a opinião do jogador.
- A lógica irá então marcar a célula selecionada como preenchida e verificar se há vitória ou empate.
- Se não houver vencedor, o jogo pede ao próximo jogador para jogar. Caso haja vitória ou empate, o jogo pode perguntar aos usuários se desejam um novo jogo.

