Entrada:
En primer lugar,
un conjunto de tres cartas que representan las cartas jugadas por cada jugador formateadas como
[JD][TH][9S]
Representando
Jack of Diamonds, 10 of Hearts, and Nine of Spades.
Como siempre te sientas frente a tu compañero de equipo en Euchre, el segundo elemento representa el juego de tu compañero de equipo. Aquí, el TH
.
En segundo lugar,
un solo carácter, cadena, etc., que representa el palo de triunfo formateado como
S, D, C, H
representando
Spades, Diamonds, Clubs, Hearts
En tercer lugar, un conjunto de cuatro cartas que representan su mano formateada como
[KD][JC][QH][AS]
representando
King of Diamonds, Jack of Clubs, Queen of Hearts, Ace of Spades
Objetivo:
Dadas las tres entradas, genera la mejor carta posible para agregar a las cartas que se han jugado de manera que cumpla con los siguientes criterios:
- Toma la mano si puede, si no saca la carta menos valiosa
- Toma la mano si puede, sin embargo, no derrotará a tu compañero de equipo a menos que sea inevitable
- Si puede tomar la mano, lo hace usando la carta menos valiosa. (Si tienes un as y una reina que pueden ganar la mano, juegas con la reina).
- Cualquier jugada debe seguir el ejemplo, según lo requerido por las reglas en la parte inferior.
Formato de salida como [JD]
Formateo
A - Ace
K - King
Q - Queen
J - Jack
T - Ten
9 - Nine
H - Hearts
D - Diamonds
S - Spades
C - Clubs
TH, 9D, JD, QH, AD, 9C, TC
Ejemplos
En: [QD][KD][9C]
` "C"
`[AH][JH][QH][9H]
Fuera: 9H
Motivo: Como los clubes son triunfadores, el 9C está ganando la mano, no podemos tomar la mano, por lo que debemos descartar nuestra carta más baja, aquí el 9H
En: [QD][KD][AD]
` "H"
`[AH][JH][QH][9H]
Fuera: 9H
Motivo: Como los Corazones son triunfadores, el As de Diamantes actualmente está ganando la mano, podemos vencer la mano, por lo que debemos usar nuestra carta más baja, aquí el 9H
En: [QD][KD][TD]
` "D"
`[AD][JH][QH][9D]
Fuera: 9D
Motivo: Como los diamantes son triunfo y actualmente estamos ganando la mano, deberíamos jugar el 9D porque nuestro compañero actualmente está ganando la mano, por lo que queremos jugar 9D
elAD
En: [QH][KH][JH]
` "D"
`[AD][JD][QH][9D]
Fuera: QH
Motivo: a medida que los diamantes triunfan, nuestros oponentes ganan con el Bower izquierdo. JH
Tenemos el bower derecho pero no podemos vencerlo porque QH fue liderado y debemos seguir su ejemplo.QH
En: [QH][KH][JH]
` "D"
`[AD][JD][QC][9D]
Fuera: JD
Motivo: a medida que los diamantes triunfan, nuestros oponentes ganan con el Bower izquierdo. JH
Tenemos el bower derecho y, como no Diamonds
tenemos, podemos vencerlo con el Bower .JD
Fortalezas de la tarjeta Euchre
Si Corazones es triunfo:
JH
JD
AH
KH
QH
TH
9H
Vea las Reglas de Euchre si no está familiarizado con la fortaleza de las diferentes cartas en Euchre
Como se trata de Code-Golf, ¡el código más corto gana!
¡Buena suerte y diviertete!
fuente
9D
como resultado tiene corazones establecidos como triunfos (aunque no creo que afecte este resultado).Respuestas:
Perl -
557 532 511 490 482 384363Cómo funciona
Pruébalo en línea!
Primero lee args y encuentra el traje de bauer izquierdo (jack del mismo color que el trump) con una búsqueda de hash:
Luego combina todas las tarjetas en una cadena y realiza algunos reemplazos, haciendo que las tarjetas se ordenen naturalmente en el orden correcto para euchre:
Al final de este bloque, la cadena de la tarjeta se divide en los corchetes, lo que crea una matriz de todas las tarjetas donde:
índice 0 = carta principal del oponente
índice 1 = tarjeta de compañero de equipo
índice 2 = otra carta del oponente
los índices 3-6 representan la mano
El palo principal se analiza desde la primera carta, pero el palo cambia a '0' para representar el triunfo si el triunfo fue liderado:
La mejor carta en juego se encuentra ordenando las tres primeras cartas y recuperando la primera carta:
Se encuentran las cartas jugables. Si alguna carta en la mano coincide con el palo principal, solo quedan esas cartas. De lo contrario, todas las cartas se consideran jugables:
La carta 'desechable' se encuentra al devolver la última carta en el conjunto ordenado de cartas jugables:
La carta 'ganadora' más baja que puede ganar el truco se encuentra agregando la carta más alta en juego a la matriz de cartas jugables, clasificando la matriz e iterando sobre ella hasta encontrar la carta en juego más alta. La carta 'ganadora' es la carta de la iteración anterior:
Luego se evalúa la jugada correcta. La tarjeta 'desechable' se elige si se cumple alguna de las siguientes condiciones:
De lo contrario, se devuelve la tarjeta 'ganadora':
fuente