El proyecto sigue la arquitectura Circo-Payaso (Circus-Clown Architecture, tambien llamada Server-Client Architecture). Para representarlo, se formo este proyecto como un Workspace de Cargo. Para ejecutar cada parte del proyecto, puedes usar los siguientes comandos:
cargo run -p circus
cargo run -p clown
En general cada comando de cargo, como cargo run
, cargo build
, cargo test
y cargo add
(para agregar dependencias) con la bandera -p {paquete}
, cosa
de trabajar ambos proyectos al mismo tiempo, pero de manera organizada.
Cada jugador tiene 3 cartas en la mano, tres cartas en la mesa boca abajo, y tres cartas boca arriba. Las cartas de la mesa no se tocan hasta que no tengas cartas en la mano, y siempre que juegas una carta robas del mazo hasta volver a tener al menos tres cartas en mano.
El jugador que empieza lanza cualquier carta, luego, quienes le siguen deben tirar una carta de numero igual o mayor. Si no tiene para tirar, se lleva la pila de cartas acumuladas. Si se juegan cuatro cartas iguales seguidas, esas cuatro cartas salen del juego y quien jugo la ultima juega de nuevo.
Hay 6 excepciones a la regla.
- El 'A' es la carta mas alta.
- El 2 es comodin, puedes usarla en cualquier carta mientras sea tu turno.
- Despues de un 7 se debe jugar una carta igual o menor.
- El 10 "quema" la pila de cartas acumuladas.
- El Jack cambia el sentido de los turnos del juego.
- El Joker hace que el siguiente jugador se lleve la pila acumulada, a menos de que ese jugador tambien juegue un Joker.
Cuando se acaban las cartas del mazo y de tu mano, juegas con las cartas boca arriba de tu mesa. No te las llevas a la mano, sino que juegas con estas cartas directamente desde la mesa para que todos vean lo que puedes jugar.
Cuando se te acaban estas cartas, juegas con las cartas boca abajo, pero sin mirarlas. Las juegas al azar.
Si no te quedan cartas, sales del juego. Si eres el ultimo jugador con cartas, eres el carecaca.