Dice Cricket é um jogo que eu fui apresentado quando criança e que tenho usado como uma maneira de passar o tempo há anos. Não encontrei uma página da Wikipedia, por isso vou explicar as regras abaixo.
Regras de Críquete de Dados
Premissa
Dice Cricket é um jogo semelhante a marcar um jogo de críquete enquanto você o assiste, mas, em vez de assistir e gravar o resultado, você está rolando um dado e gravando o resultado.
Os resultados são registrados em uma tabela, conforme exibido na parte inferior.
Exibição
O Dice Cricket usa uma exibição específica para mostrar todas as informações que estão acontecendo.
A tabela possui 11 linhas. Cada linha representa uma massa. O layout da linha é explicado abaixo.
+------+------------------------------+---------+-----+
| Name | Runs | How Out |Score|
+------+------------------------------+---------+-----+
- Nome: o nome deve ser uma string composta inteiramente de letras maiúsculas ou minúsculas
- Corre: Um batedor pode enfrentar 30 bolas. Cada bola pode ser uma das
1 2 4 6 . /
. Isso será explicado em mais detalhes abaixo - How Out: A maneira como a massa estava fora. Pode ser qualquer um
Bowled, LBW (Leg Before Wicket), Caught, Retired or Not Out
- Pontuação: a soma de todos os números em
Runs
Como o jogo funciona
Em um jogo, sempre existem 2 batedores em campo. O primeiro jogador é, por padrão, a massa atual e o segundo na massa "desligada".
Um jogo é composto de "bolas": cada bola em uma partida de críquete é representada por uma jogada de dados. Cada rolo executa um comando diferente:
- 1,2,4 e 6 fazem o batedor marcar tanto. Se 1 for rolado, a massa atual se torna a massa "off" e a massa "off" se torna a massa atual
- 3 é uma "bola pontilhada", significando que nada acontece. Ele é representado na
Runs
seção como a.
e pontua 0. A0
não pode ser usado para representá-lo. - 5 é um postigo. Se 5 for rolado, a massa atual estará "fora". Isso significa que a
/
é adicionada às jogadas e, a partir de então, a massa não poderá marcar mais jogadas. A massa é então trocada pela próxima que não tiver batido. AHow Out
seção é uma escolha aleatória das possíveis maneiras de sair:Bowled, LBW, Caught
Exemplo para um postigo (isto é apenas para maior clareza, não é assim que é produzido)
player a is on 4,6,2,6,4
player b is on 6,4,2,6,6
player c hasn't batted
player a is current batter
WICKET!!!
player a is on 4,6,2,6,4,/
player b in on 6,4,2,6,6
player c is on NOTHING
player c is current batter
A cada 6 bolas, os dois batedores trocam; a massa atual se torna a massa "off" e a massa "off" se torna a massa atual
Se a Runs
seção estiver cheia (30 bolas), a massa está fora e a How Out
seção está em Retired
. A /
não é colocado no final da Runs
caixa.
Desafio atual (sim, tudo isso eram regras do jogo)
Seu desafio é gerar uma tabela completa (como o exemplo no final), com uma lista de nomes. O conteúdo da saída deve conter apenas a tabela e / ou espaços em branco à esquerda ou à direita.
Regras
- As brechas padrão não são permitidas
- Todos os 11 jogadores devem ter algo na
Runs
seção. - Apenas um jogador pode ser
Not Out
. Todos os outros jogadores não aposentados devem ter uma escolha entre[Bowled, LBW, Caught]
- Os nomes podem ter qualquer tamanho entre 1 e 6 que corresponda à regex
A-Za-z
- A linha final na tabela deve ser a linha total (veja o exemplo)
- Você não precisa alinhar o texto da tabela de forma alguma, mas os separadores de linha e coluna devem estar alinhados.
Exemplo
Input:
['Fred', 'Sonya', 'David', 'Ben', 'Cody', 'Hazel', 'Nina', 'Kim', 'Cath', 'Lena', 'Will']
Output:
+------+------------------------------+---------+-----+
| Name | Runs | How Out |Total|
+------+------------------------------+---------+-----+
|Fred |.662/ | Caught | 14 |
+------+------------------------------+---------+-----+
|Sonya |1164/ | Caught | 12 |
+------+------------------------------+---------+-----+
|David |/ | LBW | 0 |
+------+------------------------------+---------+-----+
|Ben |424/ | LBW | 10 |
+------+------------------------------+---------+-----+
|Cody |62/ | Bowled | 8 |
+------+------------------------------+---------+-----+
|Hazel |/ | LBW | 0 |
+------+------------------------------+---------+-----+
|Nina |161.6226166..44261442/ | Caught | 64 |
+------+------------------------------+---------+-----+
|Kim |11/ | Caught | 2 |
+------+------------------------------+---------+-----+
|Cath |6.21/ | LBW | 9 |
+------+------------------------------+---------+-----+
|Lena |/ | Bowled | 0 |
+------+------------------------------+---------+-----+
|Will |2 | Not Out | 2 |
+------+------------------------------+---------+-----+
| Total Runs | 121 |
+-----------------------------------------------+-----+