poquer

package
v1.16.0-pt-br.0...-7a10394 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
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

View Source
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

View Source
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 Alertador

func Alertador(duracao time.Duration, quantia int, para io.Writer)

Alertador agenda alertas e os imprime para "para"

func VerificaVitoriaDoVencedor

func VerificaVitoriaDoVencedor(t *testing.T, armazenamento *EsbocoDeArmazenamentoJogador, vencedor string)

VerificaVitoriaDoVencedor te permite espionar as chamadas ao armazenamento de GravarVitoria

Types

type AlertaAgendado

type AlertaAgendado struct {
	Em      time.Duration
	Quantia int
}

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

func (s *AlertadorDeBlindEspiao) AgendarAlertaPara(em time.Duration, quantia int, para io.Writer)

AgendarAlertaPara grava alertas que foram agendados

type AlertadorDeBlindFunc

type AlertadorDeBlindFunc func(duracao time.Duration, quantia int, para io.Writer)

AlertadorDeBlindFunc te permite implementar o AlertadorDeBlind com uma função

func (AlertadorDeBlindFunc) AgendarAlertaPara

func (a AlertadorDeBlindFunc) AgendarAlertaPara(duracao time.Duration, quantia int, para io.Writer)

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

func NovaCLI

func NovaCLI(entrada io.Reader, saida io.Writer, jogo Jogo) *CLI

NovaCLI cria uma CLI para jogar pôquer

func (*CLI) JogarPoquer

func (cli *CLI) JogarPoquer()

JogarPoquer começa a jogo

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 Jogador

type Jogador struct {
	Nome     string
	Vitorias int
}

Jogador armazena um nome com um número de vitórias

type Jogo

type Jogo interface {
	Começar(numeroDeJogadores int, destinoDosAlertas io.Writer)
	Terminar(vencedor string)
}

Jogo gerencia o estado de uma jogo

type Liga

type Liga []Jogador

Liga armazena uma coleção de jogadores

func NovaLiga

func NovaLiga(rdr io.Reader) (Liga, error)

NovaLiga cria uma liga do JSON

func (Liga) Encontrar

func (l Liga) Encontrar(nome string) *Jogador

Encontrar tenta retornar um jogador de uma Liga

type ServidorJogador

type ServidorJogador struct {
	http.Handler
	// contains filtered or unexported fields
}

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

ObterLiga retorna as Pontuações de todos os jogadores

type Tape

type Tape struct {
	File *os.File
}

Tape represents an os.File that will re-write from the start on every Write call

func (*Tape) Write

func (t *Tape) Write(p []byte) (n int, err error)

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

Directories

Path Synopsis
cmd
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL