Introducción
Doppelkopf es un juego de cartas alemán tradicional para 4 jugadores. El mazo consta de 48 cartas (9, 10, Jota, Reina, Rey, As de cada palo mientras cada carta está en el juego dos veces), por lo que cada jugador obtiene 12 al comienzo de una ronda.
Siempre hay 2 equipos que están determinados por la distribución de las Queens of Clubs. Los 2 jugadores que sostienen las reinas forman un equipo y juegan contra los otros 2 jugadores. El equipo con las Queens of Clubs se llama equipo "Re", el que no tiene es el equipo "Contra".
Al comienzo de la ronda, nadie sabe quién está en qué equipo. La distribución del equipo se revelará en el progreso de la ronda, lo que agrega mucha estrategia al juego.
El juego consta de 12 trucos. Los jugadores que ganan un truco obtienen las 4 cartas en él. Cada carta tiene un cierto valor (el Rey cuenta 4, el As cuenta 11, por ejemplo), todas las cartas juntas suman 240 puntos, que es el resultado más alto posible.
Al final de una ronda, se cuentan los puntos y el equipo con la mayor cantidad de puntos gana la ronda. Entonces comienza la siguiente ronda ...
El reto
Cada ronda tiene un cierto puntaje que está determinado por la cantidad de puntos que obtuvo el equipo ganador y los posibles anuncios. Tendrá que escribir un programa que tome la distribución de puntos y los posibles anuncios (vea la explicación a continuación) como entrada y salida del puntaje de la ronda y el ganador.
El cálculo de la puntuación
Como se mencionó, hay un equipo Re y un Contra. También hay un máximo de 240 puntos posibles en una ronda. El Re-equipo tiene que obtener 121 puntos para ganar, mientras que el Contra-equipo solo necesita 120. También existe la posibilidad de anunciar "Re" o "Contra" al comienzo de la ronda si cree que va a ganar el juego. . Al hacer esto, estás aumentando el puntaje.
Aquí están las reglas de puntuación:
- +1 por ganar el juego
- +1 si el equipo perdedor tiene menos de 90 puntos ("Keine 90")
- +1 si el equipo perdedor tiene menos de 60 puntos ("Keine 60")
- +1 si el equipo perdedor tiene menos de 30 puntos ("Keine 30")
- +1 si el equipo perdedor tiene 0 puntos ("Schwarz")
- +2 para un anuncio de Contra
- +2 para un anuncio de Re
- +1 si el equipo Contra ganó ("Gegen die Alten")
Nota: Los anuncios de re / contra-anuncio siempre se aplican, independientemente del ganador. Ver ejemplos en los casos de prueba a continuación.
Entrada y salida
La entrada al programa será la puntuación del Re-equipo y los posibles anuncios de Re o Contra. Como siempre hay 240 puntos en el juego, puedes calcular fácilmente el puntaje del Contra-equipo.
La entrada será una sola cadena que tiene el puntaje del Re-equipo primero, seguido de los anuncios potenciales, mientras que "R" es para Re y "C" es para Contra. Si ambos fueron anunciados, Re siempre vendrá primero.
La salida será el puntaje del juego seguido por el equipo ganador ("C" para Contra, "R" para Re)
Reglas
- Su envío puede ser un programa completo o una función. Si elige este último, incluya un ejemplo sobre cómo invocarlo.
- La entrada puede proporcionarse mediante argumentos de línea de comando o función o entrada del usuario.
- La salida puede proporcionarse como valor de retorno o imprimirse en la pantalla.
- Se aplican lagunas estándar .
- ¡El conteo de bytes más bajo gana!
Casos de prueba
Input -> Output (Explanation)
145R -> 3R (Re won, +1 for winning, +2 for Re-Announcement)
120 -> 2C (Contra won, +1 for winning, +1 for winning as Contra)
80C -> 5C (Contra won, +1 for winning, +1 for no 90, +1 for winning as Contra, +2 for Contra-Announcement)
240R -> 7R (Re won, +1 for winning, +1 for no 90, +1 for no 60, +1 for no 30, +1 for no points for the losing team, +2 for Re-announcedment)
90 -> 2C (Contra won, +1 for winning, +1 for winning as Contra)
110RC -> 6C (Contra won, +1 for winning, +1 for winning as Contra, +2 for Re-Announcement, +2 for Contra-Announcement)
110R -> 4C (Contra won, +1 for winning, +1 for winnins as Contra, +2 for Re-Announcement)
184C -> 5R (Re won, +1 for winning, +1 for no 90, +1 for no 60, +2 for Contra-Announcement)
Nota breve: omití algunas reglas (como solos y puntos de bonificación) a propósito para mantener el desafío simple. Entonces, si ya estás familiarizado con el juego, no te confundas :)
¡Feliz codificación!