Se requiere que el estudiante simule un juego de
cartas en C++, aplicando los conocimientos adquiridos en la clase.
El programa debe simular un juego de
cuatro jugadores, al cual llamaremos SACAITO, donde cada jugador juega en contra de los demás sacando una carta por turno de una pila de cartas hasta agotar la pila; al final quien sume más puntos gana el juego. Aplican las siguientes reglas:
•Al inicio del juego cada jugador toma una carta, aquel que tome la carta con mayor puntuación es quien sale en el primer turno.Luego de esto se debe barajar la pila de carta.
•El turno va de jugador en jugador, en un inicio hacia la derecha y luego de llegar al cuarto jugador, ese jugador (el cuarto) se convierte en el siguiente jugador y los turnos rotan hacia la izquierda. Esto quiere decir que el cuarto jugador de una ronda se convierte en el primero de la siguiente.
•En cada turno el jugador toma la siguiente carta de la pila y la coloca en su pila de cartas.
•Cuando la carta que toque sea “A” el jugador adquiere el poder de robar la última carta de las
pilas de los otros jugadores. El jugador puede guardar el poder para después o aplicarlo de inmediato.
•Al finalizar la pila de cartas, el jugador con mayor puntuación gana.
•Los valores de las cartas son su respectivo valor numérico o el equivalente para las letras: “J” = 11; “Q” = 12; “K”=13; la “A” no suma valor porque representa un poder de robo.
•Las cartas deben ser igual que en la realidad, donde hay cuatro cartas para cada valor y sólo hay
valores desde el 2-10; “J”, “Q”, “K”, “A”.
EL PR O G R AM A DE BE CUMPLIR LOS SIGUIENTE
S R EQ UER IM IEN T O S:
•Cada jugador debe ser un nodode una lista circulardoblemente enlazada.
•Cada jugador debe tener una pila de cartas que va acumulando.
•El programa debe, en todo momento, mostrar el total de puntos de cada jugador.
•Al finalizar la partida debe imprimirlos puntos totales de cada
jugador y decir cuál es el
ganador.
•Al finalizar cada mano, el programa debe ordenarlos jugadores por orden descendente utilizando un algoritmo de ordenación básico.
•Cada carta debe ser un objeto cuyas propiedades, al menos, deberían ser: Nombre, Valor.
•El programa debe informar, en todo momento, lo que está sucediendo: jugador actual, carta
tomada de la pila, si el jugador tiene un poder disponible preguntar si lo quiere usar cada vez que le toque el turno, si usó el poder informar las cartas robadas, etc.