Documentation
¶
Index ¶
Constants ¶
View Source
const ( MoveUp = "up" MoveDown = "down" MoveRight = "right" MoveLeft = "left" )
View Source
const ( BoardSizeSmall = 7 BoardSizeMedium = 11 BoardSizeLarge = 19 SnakeMaxHealth = 100 SnakeStartSize = 3 // bvanvugt - TODO: Just return formatted strings instead of codes? NotEliminated = "" EliminatedByCollision = "snake-collision" EliminatedBySelfCollision = "snake-self-collision" EliminatedByOutOfHealth = "out-of-health" EliminatedByHeadToHeadCollision = "head-collision" EliminatedByOutOfBounds = "wall-collision" )
View Source
const EliminatedBySquad = "squad-eliminated"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MazeRuleset ¶ added in v1.0.16
type MazeRuleset struct {
StandardRuleset
}
func (*MazeRuleset) CreateInitialBoardState ¶ added in v1.0.16
func (r *MazeRuleset) CreateInitialBoardState(width int32, height int32, snakeIDs []string) (*BoardState, error)
func (*MazeRuleset) CreateNextBoardState ¶ added in v1.0.16
func (r *MazeRuleset) CreateNextBoardState(prevState *BoardState, moves []SnakeMove) (*BoardState, error)
type RoyaleRuleset ¶ added in v1.0.9
type RoyaleRuleset struct {
StandardRuleset
Seed int64
Turn int32
ShrinkEveryNTurns int32
DamagePerTurn int32
// Output
OutOfBounds []Point
}
func (*RoyaleRuleset) CreateNextBoardState ¶ added in v1.0.9
func (r *RoyaleRuleset) CreateNextBoardState(prevState *BoardState, moves []SnakeMove) (*BoardState, error)
type Ruleset ¶
type Ruleset interface {
CreateInitialBoardState(width int32, height int32, snakeIDs []string) (*BoardState, error)
CreateNextBoardState(prevState *BoardState, moves []SnakeMove) (*BoardState, error)
IsGameOver(state *BoardState) (bool, error)
}
type SoloRuleset ¶ added in v1.0.4
type SoloRuleset struct {
StandardRuleset
}
func (*SoloRuleset) IsGameOver ¶ added in v1.0.4
func (r *SoloRuleset) IsGameOver(b *BoardState) (bool, error)
type SquadRuleset ¶ added in v1.0.8
type SquadRuleset struct {
StandardRuleset
SquadMap map[string]string
// These are intentionally designed so that they default to a standard game.
AllowBodyCollisions bool
}
func (*SquadRuleset) CreateNextBoardState ¶ added in v1.0.8
func (r *SquadRuleset) CreateNextBoardState(prevState *BoardState, moves []SnakeMove) (*BoardState, error)
func (*SquadRuleset) IsGameOver ¶ added in v1.0.8
func (r *SquadRuleset) IsGameOver(b *BoardState) (bool, error)
type StandardRuleset ¶
func (*StandardRuleset) CreateInitialBoardState ¶
func (r *StandardRuleset) CreateInitialBoardState(width int32, height int32, snakeIDs []string) (*BoardState, error)
func (*StandardRuleset) CreateNextBoardState ¶ added in v1.0.4
func (r *StandardRuleset) CreateNextBoardState(prevState *BoardState, moves []SnakeMove) (*BoardState, error)
func (*StandardRuleset) IsGameOver ¶ added in v1.0.4
func (r *StandardRuleset) IsGameOver(b *BoardState) (bool, error)
Click to show internal directories.
Click to hide internal directories.