Documentation ¶
Index ¶
- Constants
- func Alertador(duracao time.Duration, quantia int, para io.Writer)
- func VerificaVitoriaDoVencedor(t *testing.T, armazenamento *EsbocoDeArmazenamentoJogador, vencedor string)
- type AlertaAgendado
- type AlertadorDeBlind
- type AlertadorDeBlindEspiao
- type AlertadorDeBlindFunc
- type ArmazenamentoJogador
- type CLI
- type EsbocoDeArmazenamentoJogador
- type Jogador
- type Jogo
- type Liga
- type ServidorJogador
- type SistemaArquivoArmazenamentoJogador
- type Tape
- type TexasHoldem
Constants ¶
const ErrMsgEntradaJogadorIncorreta = "Valor inválido recebido para número de jogadores, favor tentar novamente com um número"
ErrMsgEntradaJogadorIncorreta representa o texto dizendo ao usuário que ele inseriu um valor incorreto
const ErrMsgEntradaVencedorIncorreta = "entrada de vencedor incorreta, espera-se formato de 'NomeDoJogador venceu'"
ErrMsgEntradaVencedorIncorreta representa o texto dizendo ao usuário que a declaração de vencedor foi errada
const PromptJogador = "Favor entrar o número de jogadores: "
PromptJogador é o texto pedindo o número de jogadores para o usuário
Variables ¶
This section is empty.
Functions ¶
func VerificaVitoriaDoVencedor ¶
func VerificaVitoriaDoVencedor(t *testing.T, armazenamento *EsbocoDeArmazenamentoJogador, vencedor string)
VerificaVitoriaDoVencedor te permite espionar as chamadas ao armazenamento de GravarVitoria
Types ¶
type AlertaAgendado ¶
AlertaAgendado contém informações sobre quando um alerta é agendado
func (AlertaAgendado) String ¶
func (s AlertaAgendado) String() string
type AlertadorDeBlind ¶
type AlertadorDeBlind interface {
AgendarAlertaPara(duracao time.Duration, quantia int, para io.Writer)
}
AlertadorDeBlind agenda alertas para quantias de blind
type AlertadorDeBlindEspiao ¶
type AlertadorDeBlindEspiao struct {
Alertas []AlertaAgendado
}
AlertadorDeBlindEspiao te permite espionar em chamadas AgendarAlertaPara
func (*AlertadorDeBlindEspiao) AgendarAlertaPara ¶
AgendarAlertaPara grava alertas que foram agendados
type AlertadorDeBlindFunc ¶
AlertadorDeBlindFunc te permite implementar o AlertadorDeBlind com uma função
func (AlertadorDeBlindFunc) AgendarAlertaPara ¶
AgendarAlertaPara é uma implementação de AlertadorDeBlind para AlertadorDeBlindFunc
type ArmazenamentoJogador ¶
type ArmazenamentoJogador interface { ObtemPontuacaoDoJogador(nome string) int GravarVitoria(nome string) ObterLiga() Liga }
ArmazenamentoJogador armazena informação de pontuação sobre jogadores
type CLI ¶
type CLI struct {
// contains filtered or unexported fields
}
CLI ajuda jogadores em uma jogo de pôquer
type EsbocoDeArmazenamentoJogador ¶
type EsbocoDeArmazenamentoJogador struct { Pontuações map[string]int ChamadasDeVitoria []string Liga []Jogador }
EsbocoDeArmazenamentoJogador implementa ArmazenamentoJogador para propósitos de teste
func (*EsbocoDeArmazenamentoJogador) GravarVitoria ¶
func (s *EsbocoDeArmazenamentoJogador) GravarVitoria(nome string)
GravarVitoria grava uma vitória para ChamadasDeVitoria
func (*EsbocoDeArmazenamentoJogador) ObtemPontuacaoDoJogador ¶
func (s *EsbocoDeArmazenamentoJogador) ObtemPontuacaoDoJogador(nome string) int
ObtemPontuacaoDoJogador retorna uma pontuação de Pontuações
func (*EsbocoDeArmazenamentoJogador) ObterLiga ¶
func (s *EsbocoDeArmazenamentoJogador) ObterLiga() Liga
ObterLiga retorna Liga
type Jogo ¶
type Jogo interface { Começar(numeroDeJogadores int, destinoDosAlertas io.Writer) Terminar(vencedor string) }
Jogo gerencia o estado de uma jogo
type ServidorJogador ¶
ServidorJogador é uma interface HTTP para informações de jogador
func NovoServidorJogador ¶
func NovoServidorJogador(armazenamento ArmazenamentoJogador, jogo Jogo) (*ServidorJogador, error)
NovoServidorJogador cria um ServidorJogador com rotas configuradas
type SistemaArquivoArmazenamentoJogador ¶
type SistemaArquivoArmazenamentoJogador struct {
// contains filtered or unexported fields
}
SistemaArquivoArmazenamentoJogador armazena jogadores no sistema de arquivos
func NovoSistemaArquivoArmazenamentoJogador ¶
func NovoSistemaArquivoArmazenamentoJogador(arquivo *os.File) (*SistemaArquivoArmazenamentoJogador, error)
NovoSistemaArquivoArmazenamentoJogador cria um SistemaArquivoArmazenamentoJogador iniciaizando o armazenamento se necessário
func SistemaArquivoArmazenamentoJogadorDoArquivo ¶
func SistemaArquivoArmazenamentoJogadorDoArquivo(path string) (*SistemaArquivoArmazenamentoJogador, func(), error)
SistemaArquivoArmazenamentoJogadorDoArquivo cria um ArmazenamentoJogador dos conteúdos de um arquivo JSON encontrado em um caminho
func (*SistemaArquivoArmazenamentoJogador) GravarVitoria ¶
func (s *SistemaArquivoArmazenamentoJogador) GravarVitoria(nome string)
GravarVitoria armazena uma vitória para um jogador, incrementando as vitórias já conhecidas
func (*SistemaArquivoArmazenamentoJogador) ObtemPontuacaoDoJogador ¶
func (s *SistemaArquivoArmazenamentoJogador) ObtemPontuacaoDoJogador(nome string) int
ObtemPontuacaoDoJogador retorna a pontuação de um jogador
func (*SistemaArquivoArmazenamentoJogador) ObterLiga ¶
func (s *SistemaArquivoArmazenamentoJogador) ObterLiga() Liga
ObterLiga retorna as Pontuações de todos os jogadores
type TexasHoldem ¶
type TexasHoldem struct {
// contains filtered or unexported fields
}
TexasHoldem gerencia um jogo de pôquer
func NovoTexasHoldem ¶
func NovoTexasHoldem(alertador AlertadorDeBlind, armazenamento ArmazenamentoJogador) *TexasHoldem
NovoTexasHoldem retorna um novo jogo
func (*TexasHoldem) Começar ¶
func (p *TexasHoldem) Começar(numeroDeJogadores int, destinoDosAlertas io.Writer)
Começar armazena alertas de blind dependendo do número de jogadores
func (*TexasHoldem) Terminar ¶
func (p *TexasHoldem) Terminar(vencedor string)
Terminar finaliza o jogo, gravando o vencedor