Documentation
¶
Index ¶
- Variables
- func RegisterMap(id string, m GameMap)
- func SetupBoard(mapID string, settings rules.Settings, width, height int, snakeIDs []string) (*rules.BoardState, error)
- func TestMap(id string, m GameMap, callback func())
- func UpdateBoard(mapID string, previousBoardState *rules.BoardState, settings rules.Settings) (*rules.BoardState, error)
- type ArcadeMazeMap
- func (m ArcadeMazeMap) ID() string
- func (m ArcadeMazeMap) Meta() Metadata
- func (m ArcadeMazeMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m ArcadeMazeMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type BoardStateEditor
- func (editor *BoardStateEditor) AddFood(p rules.Point)
- func (editor *BoardStateEditor) AddHazard(p rules.Point)
- func (editor *BoardStateEditor) ClearFood()
- func (editor *BoardStateEditor) ClearHazards()
- func (editor *BoardStateEditor) PlaceSnake(id string, body []rules.Point, health int)
- func (editor *BoardStateEditor) RemoveFood(p rules.Point)
- func (editor *BoardStateEditor) RemoveHazard(p rules.Point)
- type ColumnsHazardsMap
- func (m ColumnsHazardsMap) ID() string
- func (m ColumnsHazardsMap) Meta() Metadata
- func (m ColumnsHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m ColumnsHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type ConcentricRingsHazardsMap
- func (m ConcentricRingsHazardsMap) ID() string
- func (m ConcentricRingsHazardsMap) Meta() Metadata
- func (m ConcentricRingsHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m ConcentricRingsHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type DirectionalExpandingBoxMap
- func (m DirectionalExpandingBoxMap) ID() string
- func (m DirectionalExpandingBoxMap) Meta() Metadata
- func (m DirectionalExpandingBoxMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m DirectionalExpandingBoxMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type Editor
- type EmptyMap
- type ExpandingBoxMap
- func (m ExpandingBoxMap) ID() string
- func (m ExpandingBoxMap) Meta() Metadata
- func (m ExpandingBoxMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m ExpandingBoxMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type ExpandingScatterMap
- func (m ExpandingScatterMap) ID() string
- func (m ExpandingScatterMap) Meta() Metadata
- func (m ExpandingScatterMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m ExpandingScatterMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type GameMap
- type InnerBorderHazardsMap
- func (m InnerBorderHazardsMap) ID() string
- func (m InnerBorderHazardsMap) Meta() Metadata
- func (m InnerBorderHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m InnerBorderHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type MapRegistry
- type Metadata
- type RiverAndBridgesHazardsMap
- func (m RiverAndBridgesHazardsMap) ID() string
- func (m RiverAndBridgesHazardsMap) Meta() Metadata
- func (m RiverAndBridgesHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m RiverAndBridgesHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type RoyaleHazardsMap
- func (m RoyaleHazardsMap) ID() string
- func (m RoyaleHazardsMap) Meta() Metadata
- func (m RoyaleHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m RoyaleHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type ScatterFillMap
- func (m ScatterFillMap) ID() string
- func (m ScatterFillMap) Meta() Metadata
- func (m ScatterFillMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m ScatterFillMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type SpiralHazardsMap
- func (m SpiralHazardsMap) ID() string
- func (m SpiralHazardsMap) Meta() Metadata
- func (m SpiralHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m SpiralHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type StandardMap
- type StubMap
Constants ¶
This section is empty.
Variables ¶
View Source
var ArcadeMazeHazards []rules.Point = []rules.Point{}/* 187 elements not displayed */
Functions ¶
func RegisterMap ¶
RegisterMap adds a map to the global registry.
func SetupBoard ¶
func SetupBoard(mapID string, settings rules.Settings, width, height int, snakeIDs []string) (*rules.BoardState, error)
SetupBoard is a shortcut for looking up a map by ID and initializing a new board state with it.
func UpdateBoard ¶
func UpdateBoard(mapID string, previousBoardState *rules.BoardState, settings rules.Settings) (*rules.BoardState, error)
UpdateBoard is a shortcut for looking up a map by ID and updating an existing board state with it.
Types ¶
type ArcadeMazeMap ¶ added in v1.1.5
type ArcadeMazeMap struct{}
func (ArcadeMazeMap) ID ¶ added in v1.1.5
func (m ArcadeMazeMap) ID() string
func (ArcadeMazeMap) Meta ¶ added in v1.1.5
func (m ArcadeMazeMap) Meta() Metadata
func (ArcadeMazeMap) SetupBoard ¶ added in v1.1.5
func (m ArcadeMazeMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (ArcadeMazeMap) UpdateBoard ¶ added in v1.1.5
func (m ArcadeMazeMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type BoardStateEditor ¶
type BoardStateEditor struct {
*rules.BoardState
}
An Editor backed by a BoardState.
func NewBoardStateEditor ¶
func NewBoardStateEditor(boardState *rules.BoardState) *BoardStateEditor
func (*BoardStateEditor) AddFood ¶
func (editor *BoardStateEditor) AddFood(p rules.Point)
func (*BoardStateEditor) AddHazard ¶
func (editor *BoardStateEditor) AddHazard(p rules.Point)
func (*BoardStateEditor) ClearFood ¶
func (editor *BoardStateEditor) ClearFood()
func (*BoardStateEditor) ClearHazards ¶
func (editor *BoardStateEditor) ClearHazards()
func (*BoardStateEditor) PlaceSnake ¶
func (editor *BoardStateEditor) PlaceSnake(id string, body []rules.Point, health int)
func (*BoardStateEditor) RemoveFood ¶
func (editor *BoardStateEditor) RemoveFood(p rules.Point)
func (*BoardStateEditor) RemoveHazard ¶
func (editor *BoardStateEditor) RemoveHazard(p rules.Point)
type ColumnsHazardsMap ¶ added in v1.1.6
type ColumnsHazardsMap struct{}
func (ColumnsHazardsMap) ID ¶ added in v1.1.6
func (m ColumnsHazardsMap) ID() string
func (ColumnsHazardsMap) Meta ¶ added in v1.1.6
func (m ColumnsHazardsMap) Meta() Metadata
func (ColumnsHazardsMap) SetupBoard ¶ added in v1.1.6
func (m ColumnsHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (ColumnsHazardsMap) UpdateBoard ¶ added in v1.1.6
func (m ColumnsHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type ConcentricRingsHazardsMap ¶ added in v1.1.6
type ConcentricRingsHazardsMap struct{}
func (ConcentricRingsHazardsMap) ID ¶ added in v1.1.6
func (m ConcentricRingsHazardsMap) ID() string
func (ConcentricRingsHazardsMap) Meta ¶ added in v1.1.6
func (m ConcentricRingsHazardsMap) Meta() Metadata
func (ConcentricRingsHazardsMap) SetupBoard ¶ added in v1.1.6
func (m ConcentricRingsHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (ConcentricRingsHazardsMap) UpdateBoard ¶ added in v1.1.6
func (m ConcentricRingsHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type DirectionalExpandingBoxMap ¶ added in v1.1.6
type DirectionalExpandingBoxMap struct{}
func (DirectionalExpandingBoxMap) ID ¶ added in v1.1.6
func (m DirectionalExpandingBoxMap) ID() string
func (DirectionalExpandingBoxMap) Meta ¶ added in v1.1.6
func (m DirectionalExpandingBoxMap) Meta() Metadata
func (DirectionalExpandingBoxMap) SetupBoard ¶ added in v1.1.6
func (m DirectionalExpandingBoxMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (DirectionalExpandingBoxMap) UpdateBoard ¶ added in v1.1.6
func (m DirectionalExpandingBoxMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type Editor ¶
type Editor interface {
// Clears all food from the board.
ClearFood()
// Clears all hazards from the board.
ClearHazards()
// Adds a food to the board. Does not check for duplicates.
AddFood(rules.Point)
// Adds a hazard to the board. Does not check for duplicates.
AddHazard(rules.Point)
// Removes all food from a specific tile on the board.
RemoveFood(rules.Point)
// Removes all hazards from a specific tile on the board.
RemoveHazard(rules.Point)
// Updates the body and health of a snake.
PlaceSnake(id string, body []rules.Point, health int)
}
Editor is used by GameMap implementations to modify the board state.
type EmptyMap ¶ added in v1.1.2
type EmptyMap struct{}
func (EmptyMap) SetupBoard ¶ added in v1.1.2
func (EmptyMap) UpdateBoard ¶ added in v1.1.2
type ExpandingBoxMap ¶ added in v1.1.6
type ExpandingBoxMap struct{}
func (ExpandingBoxMap) ID ¶ added in v1.1.6
func (m ExpandingBoxMap) ID() string
func (ExpandingBoxMap) Meta ¶ added in v1.1.6
func (m ExpandingBoxMap) Meta() Metadata
func (ExpandingBoxMap) SetupBoard ¶ added in v1.1.6
func (m ExpandingBoxMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (ExpandingBoxMap) UpdateBoard ¶ added in v1.1.6
func (m ExpandingBoxMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type ExpandingScatterMap ¶ added in v1.1.6
type ExpandingScatterMap struct{}
func (ExpandingScatterMap) ID ¶ added in v1.1.6
func (m ExpandingScatterMap) ID() string
func (ExpandingScatterMap) Meta ¶ added in v1.1.6
func (m ExpandingScatterMap) Meta() Metadata
func (ExpandingScatterMap) SetupBoard ¶ added in v1.1.6
func (m ExpandingScatterMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (ExpandingScatterMap) UpdateBoard ¶ added in v1.1.6
func (m ExpandingScatterMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type GameMap ¶
type GameMap interface {
// Return a unique identifier for this map.
ID() string
// Return non-functional metadata about this map.
Meta() Metadata
// Called to generate a new board. The map is responsible for placing all snakes, food, and hazards.
SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
// Called every turn to optionally update the board.
UpdateBoard(previousBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
}
type InnerBorderHazardsMap ¶ added in v1.1.6
type InnerBorderHazardsMap struct{}
func (InnerBorderHazardsMap) ID ¶ added in v1.1.6
func (m InnerBorderHazardsMap) ID() string
func (InnerBorderHazardsMap) Meta ¶ added in v1.1.6
func (m InnerBorderHazardsMap) Meta() Metadata
func (InnerBorderHazardsMap) SetupBoard ¶ added in v1.1.6
func (m InnerBorderHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (InnerBorderHazardsMap) UpdateBoard ¶ added in v1.1.6
func (m InnerBorderHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type MapRegistry ¶
MapRegistry is a mapping of map names to game maps.
func (MapRegistry) GetMap ¶
func (registry MapRegistry) GetMap(id string) (GameMap, error)
GetMap returns the map associated with the given ID.
func (MapRegistry) RegisterMap ¶
func (registry MapRegistry) RegisterMap(id string, m GameMap)
RegisterMap adds a stage to the registry. If a map has already been registered this will panic.
type RiverAndBridgesHazardsMap ¶ added in v1.1.6
type RiverAndBridgesHazardsMap struct{}
func (RiverAndBridgesHazardsMap) ID ¶ added in v1.1.6
func (m RiverAndBridgesHazardsMap) ID() string
func (RiverAndBridgesHazardsMap) Meta ¶ added in v1.1.6
func (m RiverAndBridgesHazardsMap) Meta() Metadata
func (RiverAndBridgesHazardsMap) SetupBoard ¶ added in v1.1.6
func (m RiverAndBridgesHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (RiverAndBridgesHazardsMap) UpdateBoard ¶ added in v1.1.6
func (m RiverAndBridgesHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type RoyaleHazardsMap ¶ added in v1.1.2
type RoyaleHazardsMap struct{}
func (RoyaleHazardsMap) ID ¶ added in v1.1.2
func (m RoyaleHazardsMap) ID() string
func (RoyaleHazardsMap) Meta ¶ added in v1.1.2
func (m RoyaleHazardsMap) Meta() Metadata
func (RoyaleHazardsMap) SetupBoard ¶ added in v1.1.2
func (m RoyaleHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (RoyaleHazardsMap) UpdateBoard ¶ added in v1.1.2
func (m RoyaleHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type ScatterFillMap ¶ added in v1.1.6
type ScatterFillMap struct{}
func (ScatterFillMap) ID ¶ added in v1.1.6
func (m ScatterFillMap) ID() string
func (ScatterFillMap) Meta ¶ added in v1.1.6
func (m ScatterFillMap) Meta() Metadata
func (ScatterFillMap) SetupBoard ¶ added in v1.1.6
func (m ScatterFillMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (ScatterFillMap) UpdateBoard ¶ added in v1.1.6
func (m ScatterFillMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type SpiralHazardsMap ¶ added in v1.1.6
type SpiralHazardsMap struct{}
func (SpiralHazardsMap) ID ¶ added in v1.1.6
func (m SpiralHazardsMap) ID() string
func (SpiralHazardsMap) Meta ¶ added in v1.1.6
func (m SpiralHazardsMap) Meta() Metadata
func (SpiralHazardsMap) SetupBoard ¶ added in v1.1.6
func (m SpiralHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (SpiralHazardsMap) UpdateBoard ¶ added in v1.1.6
func (m SpiralHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type StandardMap ¶
type StandardMap struct{}
func (StandardMap) ID ¶
func (m StandardMap) ID() string
func (StandardMap) Meta ¶
func (m StandardMap) Meta() Metadata
func (StandardMap) SetupBoard ¶
func (m StandardMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (StandardMap) UpdateBoard ¶
func (m StandardMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type StubMap ¶ added in v1.1.1
type StubMap struct {
Id string
SnakePositions map[string]rules.Point
Food []rules.Point
Hazards []rules.Point
Error error
}
An implementation of GameMap that just does predetermined placements, for testing.
func (StubMap) SetupBoard ¶ added in v1.1.1
func (StubMap) UpdateBoard ¶ added in v1.1.1
Click to show internal directories.
Click to hide internal directories.