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 valores x e y.
  • 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 ficha x a la mesa. Si final es True, 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 ficha x se puede jugar. Retorna una lista con la ficha y un booleano indicando si debe ir al final o al principio de la mesa, o False 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.

Entradas relacionadas: