Cómo hacer un juego de tres en raya en Python con código de ejemplo
Juego de tres en raya en Python Es un proyecto interesante que puedes probar. Es un proyecto genial y divertido para resolver un desafío y puede ayudarte a dominar conceptos básicos en Python. Crear un divertido juego de tres en raya te ayudará a desarrollar tus habilidades.
Puedes usar un buen Python editor como Pycharm o la interfaz de línea de comandos.
¿Cómo jugar al juego Tic Toc?
El juego tres en raya es un juego sencillo para dos jugadores que cualquiera puede jugar sin necesidad de un tablero de juego. Se trata de dos jugadores marcando celdas diferentes hasta que finaliza el juego, en el que se logra una victoria o un empate.
Aquí se explica cómo jugar al juego de tres en raya.
Paso 1) El juego de tres en raya comienza con celdas vacías en una cuadrícula. Este es el tablero de tres en raya.
Paso 2) Ambos jugadores eligen entre dos símbolos, normalmente X u O. Puedes usar cualquier otro símbolo único en el juego.
Paso 3) El jugador actual marca por turnos completando las celdas del tablero de tres en raya hasta que un jugador completa una combinación ganadora. Es decir, una fila, columna o diagonal entera con el mismo signo.
Paso 4) También es posible un empate en el juego en caso de que todas las casillas estén llenas y no haya un ganador aparente.
Requisitos
Construyendo el tic tac toe Python Antecedentes requiere una comprensión de nivel principiante de Python lenguaje de programación. Incluye comprender los bucles e iteraciones "for" y en qué se utiliza una declaración if. Python.
También necesitas tener Python y Python editor de texto instalado en su computadora para completar el tres en raya Python proyecto. Como se trata de un juego de tres en raya para principiantes en Python, no necesitarás ninguno Python biblioteca.
Es posible que necesites algunas habilidades de depuración para encontrar soluciones a los errores en tu código y también debes tener una comprensión adecuada de los componentes del juego.
Tic Tac Toe Python Algoritmo
Siga estos pasos para crear un juego de tres en raya en Python lenguaje de programación:
Paso 1) Crea el tablero para comenzar el juego de tres en raya.
Paso 2) Solicite al usuario que decida las dimensiones del tablero de juego.
Paso 3) Elige aleatoriamente el primer jugador.
Paso 4) Comienza el juego de tres en raya.
Paso 5) Los jugadores juegan seleccionando un lugar vacío en el tablero.
Paso 6) Llena el lugar vacío seleccionado con el cartel del jugador.
Paso 7) Determina si un jugador gana o empata en el juego usando la lógica del juego.
Paso 8) Muestre el tablero de juego después de cada jugada si ningún jugador gana o empata con el segundo jugador.
Paso 9) Muestra un mensaje de empate o victoria, respectivamente.
Paso 10) Finaliza el juego de tres en raya con opciones para comenzar un nuevo juego.
Full Python código para tres en raya
# 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 Salida de código
Una vez que ejecute el código fuente anterior, a continuación se muestra el resultado esperado para un tablero de tres en raya de 3 X 3:
------------ 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):
Desglose completo del código
Creamos tres en raya en Python es sencillo. Analicemos las diferentes funciones en bits para comprender qué sucede en cada línea:
imprimiendo el tablero
El tablero de tres en raya es la pantalla principal del juego. En, Python La ventana de visualización se utiliza para mostrar el tablero de juego.
Estos son los pasos que te ayudarán a crear un tablero para tres en raya en Python:
Python código para tres en raya
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)
Salida de código:
------------ N-DIMENSIONAL TIC TAC TOE game by guru 99.com ------------ Guru99 says>>> Enter N, the dimensions of the board: 3 _ _ _ _ _ _ _ _ _
Juego Tic Tac Toe – arreglo ganador
Para comprobar si algún jugador ganó, debemos comprobar las combinaciones ganadoras en las filas, columnas y diagonales. Si hay un ganador, debemos mostrar un mensaje ganador.
filas
- Para la fila, la función toma cada par de columnas consecutivas y busca una combinación ganadora.
- El primer jugador que llene las filas gana. Por tanto, el segundo jugador pierde.
- Si un par de columnas consecutivas son iguales, entonces es obvio que todos los elementos dentro de esa fila son iguales.
- Si dos de ellos son diferentes o la fila contiene una celda vacía, todavía no hay ganador.
- Luego implementamos condiciones perdedoras y agregamos una ruptura. Si alguna de estas condiciones perdedoras es cierta, no tuvimos un ganador en la fila marcada.
- La declaración else da un retorno verdadero para mostrar que hay un ganador.
- La pausa se sale de este bucle para pasar a la siguiente fila.
Columnas
Para las columnas repetimos la misma función que en las filas. Comprobamos si un jugador ganó después de que cada jugador elige su lugar.
La fila diagonal gana
Para la diagonal izquierda, la tarea se vuelve más sencilla. Siempre estaremos comparando las celdas en las diagonales. Sin embargo, en caso de que no haya un ganador, podemos pasar a la siguiente instrucción.
Jugar a la lógica del juego.
Esta es la función principal del juego. Para ello podemos utilizar variables que almacenen información.
- La primera variable es el tamaño del tablero almacenado en "N". El juego obtendrá el tamaño del tablero después de pedirle al usuario que ingrese un número.
- Entonces, cuando ingresa el valor, se procesa.
- También creamos un mensaje de error para mostrar a los jugadores cuando se escribe un número no válido.
- Luego podemos crear dos variables que completen una "X" o una "O" cuando se llena una celda.
- Luego muestre a los jugadores el tablero de juego. Después de esto, obtenga la opinión del jugador.
- Luego, la lógica marcará la celda seleccionada como llena y verificará si hay una victoria o un empate.
- Si no hay un ganador, el juego le pide al siguiente jugador que juegue. Si se gana o empata, el juego puede preguntar a los usuarios si quieren un juego nuevo.
Conclusión
- Tic tac toe es un divertido juego para dos jugadores que consiste en colocar un símbolo único en una celda vacía del tablero.
- Creando un juego de tres en raya en Python requiere una comprensión de nivel principiante de Python, un editor de texto y Python instalado.
- El algoritmo le ayuda a escribir sistemáticamente el código en cualquier idioma.
- Para crear el juego, primero, dibuja el tablero y escribe el código para determinar los arreglos para ganar y perder.
- Puedes probar el código de tres en raya en Python jugando primero.