Uma das coisas que torna a ponte de contrato muito interessante é o seu meta-jogo "artificial" altamente complicado. Este sistema de pontuação de mãos é uma pequena parte dele.
Bridge é um jogo de cartas complicado. Cada jogador recebe uma mão de 13 cartas e o jogo começa com a licitação . A licitação determina como o restante do jogo é jogado e, portanto, é uma parte crucial dele. Para garantir que você e seu parceiro não façam lances muito altos (ou muito baixos), este sistema de pontuação artificial foi desenvolvido para lhe dizer o quão boa é sua mão.
Pontuação
Aqui está um exemplo de mão:
S:KQT5
H:J72
D:965
C:AK8
OS, H, D, C representam os naipes (espadas, copas, diamantes e paus) e o restante são os cartões desses naipes. Portanto, esta mão tem uma dama de espadas (Q), rei de espadas (K), dez de espadas (T), cinco de espadas, valete de copas, sete de copas, etc.
O sistema de pontuação funciona da seguinte maneira:
- Você ganha 4 pontos por cada ás (A) que possui, 3 pontos por cada rei (K), 2 pontos por cada rainha (Q) e 1 ponto por cada valete (J). Nenhuma outra carta dá pontos.
- Cada carta após a quarta do naipe dá 1 ponto. Então, se você tiver seis corações, receberá 2 pontos.
- Um naipe em que você tem apenas 2 cartas dá 1 ponto (este é um doubleton). Um naipe em que você tem apenas 1 carta dá 2 pontos (este é um singleton). Se você não tem cartas em um determinado naipe, você recebe 3 pontos (isto é um vazio). (Normalmente, isso só é contado quando você concordar com um processo com seu parceiro, mas eu os incluo para tornar o desafio mais interessante.)
Portanto, a mão acima tem 13 pontos.
Desafio
Dada uma mão ponte no formato mostrado acima, calcule quantos pontos ela tem. Os naipes sempre serão listados na ordem de espadas, copas, diamantes e tacos, e as cartas serão sempre classificadas na ordem A, K, Q, J, T, 9-2.
Amostras de entradas e saídas
S:KQT5
H:J72
D:965
C:AK8
\-> 13
S:AKQT6
H:54
D:J83
C:732
\-> 12
S:
H:KQT8754
D:A86
C:432
\-> 15
S:9876
H:843
D:652
C:432
\-> 0
S:AKQT5
H:AQJ6
D:Q3
C:AK
\-> 28
Isso é código-golfe , então o código mais curto em bytes vence.