Juego de dominó en Python: clases Ficha, Pila, Jugador y Mesa
Resumen
El documento describe la implementación en Python de un juego de dominó con lógica de juego, interacción con el usuario y una IA simple para las CPU. Explica las clases Ficha, Pila, Jugador y Mesa, sus métodos principales y la función juego(), que controla los turnos y determina el ganador. Sirve para entender cómo se estructura un programa orientado a objetos aplicado a un juego de cartas.
Puntos clave
- La clase Ficha representa una ficha con dos valores, calcula su suma y permite rotarla.
- La clase Pila crea todas las fichas del dominó, las mezcla aleatoriamente y reparte 7 fichas a un jugador.
- La clase Jugador distingue entre humano y CPU: la CPU elige la ficha de mayor valor y el humano elige manualmente.
- La clase Mesa representa el tablero, coloca fichas al principio (0) o al final (1) y lo muestra.
- La función juego() reúne 1 jugador humano y 3 CPU, y termina cuando alguien se queda sin fichas o todos pasan.
- El puntaje se calcula por equipos: jugador humano y CPU2 contra CPU1 y CPU3.
Desarrollo de un Juego de Dominó en Python
Este documento presenta el código en Python para un juego de dominó, incluyendo la lógica del juego, la interacción con el usuario y una IA simple para los jugadores controlados por la computadora (CPU).
Clases del Juego
Clase Ficha
Representa una ficha individual del dominó con dos valores.
__init__(self, valor1, valor2): Inicializa la ficha con sus valores y calcula la suma de estos.valor(self): Retorna la suma de los valores de la ficha.__str__(self): Retorna una representación en string de la ficha (ej. "1,2").rotar(self): Intercambia los valores de la ficha.
Clase Pila
Representa el conjunto de fichas disponibles al inicio del juego.
__init__(self): Crea todas las fichas del dominó y las mezcla aleatoriamente.__str__(self): Retorna una representación en string de todas las fichas en la pila.sacar_fichas(self): Reparte 7 fichas a un jugador.
Clase Jugador
Representa a un jugador, ya sea humano o CPU.
__init__(self, nombre, apellido, mano): Inicializa el jugador con su nombre, apellido y mano de fichas.buscar(self, tablero): Busca una ficha válida para jugar en su mano. Si es CPU, elige la ficha de mayor valor. Si es humano, permite al usuario elegir.jugar(self, tablero): Realiza una jugada, colocando una ficha en el tablero.valor_mano(self): Calcula el valor total de las fichas en su mano.__str__(self): Retorna el nombre y apellido del jugador.mostrar_mano(self): Muestra las fichas en la mano del jugador.
Clase Mesa
Representa el tablero de juego.
__init__(self): Inicializa el tablero vacío.poner(self, ficha, posicion): Coloca una ficha en la posición especificada (0 para el principio, 1 para el final).imprimir(self): Muestra el estado actual del tablero.
Función juego()
Función principal que ejecuta la lógica del juego.
- Inicializa el tablero, la pila de fichas y los jugadores (1 humano y 3 CPU).
- El jugador humano realiza la primera jugada.
- Entra en un bucle hasta que termine el juego.
- En cada turno, un jugador intenta jugar una ficha.
- Si un jugador no puede jugar, pasa el turno.
- El juego termina cuando un jugador se queda sin fichas o cuando todos los jugadores pasan en la misma ronda.
- Se calcula el puntaje de cada equipo (jugador humano + CPU2 vs CPU1 + CPU3).
- Se determina el ganador o si hay empate.
Ejecución del Juego
Para iniciar el juego, simplemente se llama a la función juego().
juego()Descargar
PDF Word HTMLPreguntas frecuentes
¿Cómo se inicia el juego de dominó en este código?
Para iniciar el juego basta con llamar a la función juego(). Esta función inicializa el tablero, la pila de fichas y los jugadores.
¿Cómo elige ficha la CPU?
Según el documento, la CPU elige la ficha válida de mayor valor de su mano, mientras que el jugador humano puede elegir libremente.
¿Cuándo termina la partida?
El juego termina cuando un jugador se queda sin fichas o cuando todos los jugadores pasan en la misma ronda.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.