Desarrollo de Juego de Dominó en Python: Clases y Funciones
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 2,97 KB
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()