Juego de dominó en Python: clases Ficha, Pila, Mesa, Jugador y Partida
Resumen
El documento describe la implementación de un juego de dominó en Python en el que un jugador humano compite contra tres computadoras, una de ellas aliada del jugador. Explica las clases principales (Ficha, Pila, Mesa, Jugador y Partida), sus atributos y métodos, y el flujo de ejecución de la partida. Sirve para entender cómo se organiza un juego por objetos siguiendo las reglas estándar del dominó.
Puntos clave
- El juego enfrenta a un jugador humano contra tres computadoras, una de ellas aliada del jugador.
- La clase Ficha almacena dos valores, permite rotarla y calcular su suma con el método valor().
- La clase Pila genera las fichas del 0|0 al 6|6 y saca una ficha aleatoria con sacar_ficha().
- La clase Mesa guarda las fichas jugadas y las agrega al principio o al final según el parámetro final.
- La clase Jugador puede ser humano o computadora y usa buscar() para comprobar si una ficha se puede jugar.
- La partida termina cuando un jugador se queda sin fichas o cuando se pasa cuatro veces seguidas.
Introducción
Este código implementa un juego de dominó en Python. Permite a un jugador humano jugar contra tres computadoras, una de las cuales es un aliado del jugador. El juego sigue las reglas estándar del dominó.
Clases
Clase Ficha
Representa una ficha de dominó. Almacena dos valores (valor1, valor2) y permite rotar la ficha.
__init__(self, x, y): Inicializa una ficha con los valoresxey.get(self): Retorna una lista con los valores de la ficha.rotar(self): Intercambia los valores de la ficha.valor(self): Retorna la suma de los valores de la ficha.
Clase Pila
Representa la pila de fichas. Genera todas las fichas del dominó (del 0|0 al 6|6) y permite sacar una ficha aleatoria.
__init__(self): Inicializa la pila y genera las fichas.sacar_ficha(self): Retorna una ficha aleatoria de la pila y la elimina de la misma.
Clase Mesa
Representa la mesa de juego. Almacena las fichas que se han jugado.
__init__(self): Inicializa la mesa.poner(self, x, final): Agrega una fichaxa la mesa. SifinalesTrue, la agrega al final; si no, al principio.imprimir(self): Imprime el estado actual de la mesa.
Clase Jugador
Representa a un jugador. Puede ser humano o computadora.
__init__(self, nombre, com, pila, mesa): Inicializa al jugador con un nombre, un indicador de si es computadora (com), la pila de fichas y la mesa.buscar(self, x): Verifica si la fichaxse puede jugar. Retorna una lista con la ficha y un booleano indicando si debe ir al final o al principio de la mesa, oFalsesi no se puede jugar.jugar(self): Permite al jugador realizar una jugada. Si es humano, solicita la entrada del usuario. Si es computadora, realiza una jugada automáticamente.valor_mano(self): Retorna la suma de los valores de las fichas en la mano del jugador.imprimir_fichas(self): Imprime las fichas del jugador (solo para humanos).convertir_ficha(self, s): Convierte una cadena de texto en una ficha.
Clase Partida
Controla el flujo del juego.
__init__(self, nombre): Inicializa una nueva partida.nueva(self, nombre): Crea una nueva partida con los jugadores.termino(self, pasar): Verifica si la partida ha terminado.main(self, termino): Ejecuta el bucle principal del juego.
Ejecución del juego
El juego comienza solicitando el nombre del jugador humano y luego crea una nueva partida. El juego continúa hasta que un jugador se queda sin fichas o se pasa cuatro veces seguidas. Al final, se muestran los puntajes y se declara al ganador.
Descargar
PDF Word HTMLPreguntas frecuentes
¿Cuántas fichas genera la clase Pila?
La clase Pila genera todas las fichas del dominó, desde la 0|0 hasta la 6|6. Luego permite sacar una ficha aleatoria y la elimina de la pila.
¿Qué devuelve el método buscar() de la clase Jugador?
Devuelve una lista con la ficha y un booleano que indica si debe ir al final o al principio de la mesa. Si la ficha no se puede jugar, devuelve False.
¿Cuándo termina una partida?
La partida termina cuando un jugador se queda sin fichas o cuando se pasa cuatro veces seguidas. Al final se muestran los puntajes y se declara al ganador.
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.