Versions in this module Expand all Collapse all v1 v1.0.1 Nov 17, 2019 Changes in this version + func TalkerSetup(mainCtx GamerCtx, config *Configuration, initialPos physics.Point) (context.Context, talk.Talker, error) + type Ball struct + Holder *Player + type Configuration struct + LogLevel logrus.Level + PlayerNumber arena.PlayerNumber + TeamPlace arena.TeamPlace + Token string + UUID string + WSHost string + WSPort string + func (c *Configuration) ParseFromFlags() + type Controller interface + GetGamerCtx func(place arena.TeamPlace, number arena.PlayerNumber) (ctx TurnContext, err error) + LoadArrangement func(name string) (newState GameMessage, err error) + NextTurn func() (newState GameMessage, err error) + ResetScore func() (newState GameMessage, err error) + SendOrders func(place arena.TeamPlace, number arena.PlayerNumber, orderList []orders.Order) + SetBallProperties func(v physics.Velocity, position physics.Point) (newState GameMessage, err error) + SetFrameInterval func(time time.Duration) + SetGameTurn func(turn int) (newState GameMessage, err error) + SetPlayerPos func(place arena.TeamPlace, number arena.PlayerNumber, position physics.Point) (newState GameMessage, err error) + func NewTestController(ctx context.Context, confg Configuration) (context.Context, Controller, error) + type GameInfo struct + AwayTeam Team + Ball Ball + HomeTeam Team + State arena.GameState + Turn int + type GameMessage struct + Data map[string]interface{} + GameInfo GameInfo + Message string + State arena.GameState + Type arena.MsgType + func (g *GameMessage) Ball() Ball + func (g *GameMessage) ForEachPlayByTeam(place arena.TeamPlace, callback func(index int, player *Player)) + func (g *GameMessage) GetTeam(place arena.TeamPlace) Team + func (g *GameMessage) Turn() int + type Gamer struct + LastMsg GameMessage + LogLevel logrus.Level + OnAnnouncement func(turnTx TurnContext) + OnMessage func(msg GameMessage) + Talker talk.Talker + func (p *Gamer) Play(initialPosition physics.Point, configuration *Configuration) (GamerCtx, error) + func (p *Gamer) SendOrders(message string, ordersList ...orders.Order) + func (p *Gamer) StopToPlay(interrupted bool) + type GamerCtx interface + CreateTurnContext func(msg GameMessage) TurnContext + Logger func() *logrus.Entry + func NewGamerContext(ctx context.Context, config *Configuration) (GamerCtx, context.CancelFunc) + type Player struct + Id string + Number arena.PlayerNumber + TeamPlace arena.TeamPlace + func (p *Player) CreateCatchOrder() orders.Order + func (p *Player) CreateJumpOrder(target physics.Point, speed float64) (orders.Order, error) + func (p *Player) CreateKickOrder(ball Ball, target physics.Point, speed float64) (orders.Order, error) + func (p *Player) CreateMoveOrder(target physics.Point, speed float64) (orders.Order, error) + func (p *Player) CreateMoveOrderMaxSpeed(target physics.Point) (orders.Order, error) + func (p *Player) CreateStopOrder(direction physics.Vector) orders.Order + func (p *Player) DefenseGoal() arena.Goal + func (p *Player) FindOpponentPlayer(status GameInfo, playerNumber arena.PlayerNumber) *Player + func (p *Player) GetMyTeamStatus(gameInfo GameInfo) Team + func (p *Player) GetOpponentPlace() arena.TeamPlace + func (p *Player) GetOpponentTeam(status GameInfo) Team + func (p *Player) ID() string + func (p *Player) IHoldTheBall(ball Ball) bool + func (p *Player) IsGoalkeeper() bool + func (p *Player) OpponentGoal() arena.Goal + type PlayerMessage struct + Debug string + Orders []orders.Order + Type arena.MsgType + type Responder interface + SendOrders func(message string, ordersList ...orders.Order) + type Team struct + Name arena.TeamPlace + Players []*Player + Score int + type TurnContext interface + GameMsg func() *GameMessage + Logger func() *logrus.Entry + Player func() *Player