17 - Proyecto final: juego de cartas con Programación Orientada a Objetos
Lección 17 del curso Python Nivel Avanzado.
Tabla de contenido
Introducción
En la lección anterior vimos algunas de las principales sugerencias a tener en cuenta para implementar nuestros programas usando el enfoque de Programación Orientada a Objetos.
Usando estas sugerencias, así como los conceptos vistos anteriormente, en esta última práctica del curso implementaremos un juego de cartas haciendo uso de herramientas como la herencia y el polimorfismo.

Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Las reglas del juego
En el juego usaremos una baraja inglesa compuesta por 52 cartas. Además tendremos tres jugadores: el computador, un jugador humano y el Croupier (encargado de repartir las cartas).
Las reglas de este juego serán las siguientes:
- Mezclar la baraja y repartir 10 cartas a cada jugador
- Aleatoriamente decidir quién inicia
- El jugador que inicia lanza una carta de cualquier palo y cualquier rango. Entonces:
- El contrincante debe lanzar una carta del mismo palo. Si no tiene una carta del palo debe “robar” del mazo.
- El jugador que lanzó la carta de mayor rango vuelve a lanzar
- Si a pesar de “robar” el jugador no tiene cartas del mismo palo entonces debe “pasar” y el contrincante vuelve a lanzar
- Gana quien quede sin cartas o quien quede con la menor cantidad de cartas al final
Diseño de las clases
En nuestro juego tendremos las siguientes clases:
Carta
, con los atributosrango
ypalo
Baraja
, con el atributolistado_cartas
y los métodosmezclar
yeliminar_carta
Mano
, clase hija deBaraja
que reimplementará el atributolistado_cartas
y añadirá el métodoagregar_carta
Jugador
que representará a cualquiera de los tres protagonistas de nuestro juego (humano, computador y Croupier). Tendrá el atributomano
(instancia de la claseMano
y los métodosjugar_carta
yrobar_carta
)
Implementación

Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Conclusión
¡Muy bien! En este último proyecto hemos usado varias de las herramientas aprendidas en los cursos Python Nivel Básico y Python Nivel Intermedio y desde luego varios de los conceptos de Programación Orientada a Objetos aprendidos en esta última sección del curso. Y con esto hemos implementado un sencillo juego de cartas.
Y con esto hemos terminado este curso de “Python Nivel Avanzado”. Los invito a ver el video de cierre en donde haremos un resumen de todo lo aprendido en este curso y donde hablaremos de lo que vendrá en los próximos cursos de esta línea de programación en la Academia Online.