Documentation ¶
Index ¶
- Constants
- Variables
- func Alerter(duration time.Duration, amount int, to io.Writer)
- type BlindAlerter
- type BlindAlerterFunc
- type CLI
- type FileSystemPlayerStore
- type Game
- type GameSpy
- type InMemoryPlayerStore
- type League
- type Player
- type PlayerServer
- func (p *PlayerServer) GameHandler(writer http.ResponseWriter, request *http.Request)
- func (p *PlayerServer) LeagueHandler(writer http.ResponseWriter, request *http.Request)
- func (p *PlayerServer) PlayersHandler(writer http.ResponseWriter, request *http.Request)
- func (p *PlayerServer) ProcessWin(writer http.ResponseWriter, player string)
- func (p *PlayerServer) ShowScore(writer http.ResponseWriter, player string)
- func (p *PlayerServer) WebSocketHandler(w http.ResponseWriter, r *http.Request)
- type PlayerStore
- type SpyBlindAlerter
- type StubPlayerStore
- type TexasHoldem
Constants ¶
View Source
const BadInputErrMsg = "Bad value received for number of players, please try again with a number"
View Source
const BadWinnerErrorMsg = `Bad value received for winner, type "{Name} wins" to record a win`
View Source
const UserPrompt = "Please enter the number of users: "
Variables ¶
View Source
var ErrInvalidInputWinner = errors.New("invalid input winner")
View Source
var ErrNotEnoughInputWinner = errors.New("not enough input for winner")
Functions ¶
Types ¶
type BlindAlerter ¶
type BlindAlerterFunc ¶
func (BlindAlerterFunc) ScheduleAlertAt ¶
type FileSystemPlayerStore ¶
type FileSystemPlayerStore struct {
// contains filtered or unexported fields
}
func FileSystemPlayerStoreFromFile ¶
func FileSystemPlayerStoreFromFile(path string) (store *FileSystemPlayerStore, cleanup func(), err error)
func NewFileSystemPlayerStore ¶
func NewFileSystemPlayerStore(file *os.File) (*FileSystemPlayerStore, error)
func (*FileSystemPlayerStore) GetLeague ¶
func (f *FileSystemPlayerStore) GetLeague() League
func (*FileSystemPlayerStore) GetPlayerScore ¶
func (f *FileSystemPlayerStore) GetPlayerScore(name string) (int, bool)
func (*FileSystemPlayerStore) RecordWin ¶
func (f *FileSystemPlayerStore) RecordWin(name string)
type GameSpy ¶
type InMemoryPlayerStore ¶
type InMemoryPlayerStore struct {
// contains filtered or unexported fields
}
func NewInMemoryPlayerStore ¶
func NewInMemoryPlayerStore() *InMemoryPlayerStore
func (*InMemoryPlayerStore) GetLeague ¶
func (s *InMemoryPlayerStore) GetLeague() League
func (*InMemoryPlayerStore) GetPlayerScore ¶
func (s *InMemoryPlayerStore) GetPlayerScore(player string) (score int, ok bool)
func (*InMemoryPlayerStore) RecordWin ¶
func (s *InMemoryPlayerStore) RecordWin(player string)
type PlayerServer ¶
func NewPlayerServer ¶
func NewPlayerServer(store PlayerStore, game Game) (*PlayerServer, error)
NewPlayerServer creates a PlayerServer with routing configured
func (*PlayerServer) GameHandler ¶
func (p *PlayerServer) GameHandler(writer http.ResponseWriter, request *http.Request)
func (*PlayerServer) LeagueHandler ¶
func (p *PlayerServer) LeagueHandler(writer http.ResponseWriter, request *http.Request)
func (*PlayerServer) PlayersHandler ¶
func (p *PlayerServer) PlayersHandler(writer http.ResponseWriter, request *http.Request)
func (*PlayerServer) ProcessWin ¶
func (p *PlayerServer) ProcessWin(writer http.ResponseWriter, player string)
func (*PlayerServer) ShowScore ¶
func (p *PlayerServer) ShowScore(writer http.ResponseWriter, player string)
func (*PlayerServer) WebSocketHandler ¶
func (p *PlayerServer) WebSocketHandler(w http.ResponseWriter, r *http.Request)
type PlayerStore ¶
type PlayerStore interface { GetPlayerScore(player string) (int, bool) RecordWin(name string) GetLeague() League }
PlayerStore stores score information about players
type SpyBlindAlerter ¶
type SpyBlindAlerter struct {
// contains filtered or unexported fields
}
func (*SpyBlindAlerter) ScheduleAlertAt ¶
type StubPlayerStore ¶
type StubPlayerStore struct {
// contains filtered or unexported fields
}
func (*StubPlayerStore) GetLeague ¶
func (s *StubPlayerStore) GetLeague() League
func (*StubPlayerStore) GetPlayerScore ¶
func (s *StubPlayerStore) GetPlayerScore(player string) (score int, ok bool)
func (*StubPlayerStore) RecordWin ¶
func (s *StubPlayerStore) RecordWin(name string)
type TexasHoldem ¶
type TexasHoldem struct {
// contains filtered or unexported fields
}
func NewTexasHoldem ¶
func NewTexasHoldem(store PlayerStore, alerter BlindAlerter) *TexasHoldem
func (TexasHoldem) Finish ¶
func (g TexasHoldem) Finish(winner string)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.