Juego de Dominó en Python
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,13 KB
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 valoresx
ey
.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 fichax
a la mesa. Sifinal
esTrue
, 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 fichax
se puede jugar. Retorna una lista con la ficha y un booleano indicando si debe ir al final o al principio de la mesa, oFalse
si 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.