Documentation
¶
Index ¶
- Constants
- Variables
- func AnySize() sizes
- func FixedSizes(a Dimensions, b ...Dimensions) sizes
- func List() []string
- func OddSizes(min, max uint) sizes
- 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 Dimensions
- 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 HealingPoolsMap
- func (m HealingPoolsMap) ID() string
- func (m HealingPoolsMap) Meta() Metadata
- func (m HealingPoolsMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m HealingPoolsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- 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 RiverAndBridgesExtraLargeHazardsMap
- func (m RiverAndBridgesExtraLargeHazardsMap) ID() string
- func (m RiverAndBridgesExtraLargeHazardsMap) Meta() Metadata
- func (m RiverAndBridgesExtraLargeHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m RiverAndBridgesExtraLargeHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type RiverAndBridgesLargeHazardsMap
- func (m RiverAndBridgesLargeHazardsMap) ID() string
- func (m RiverAndBridgesLargeHazardsMap) Meta() Metadata
- func (m RiverAndBridgesLargeHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m RiverAndBridgesLargeHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type RiverAndBridgesMediumHazardsMap
- func (m RiverAndBridgesMediumHazardsMap) ID() string
- func (m RiverAndBridgesMediumHazardsMap) Meta() Metadata
- func (m RiverAndBridgesMediumHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m RiverAndBridgesMediumHazardsMap) 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 SinkholesMap
- func (m SinkholesMap) ID() string
- func (m SinkholesMap) Meta() Metadata
- func (m SinkholesMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m SinkholesMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type SnailModeMap
- func (m SnailModeMap) ID() string
- func (m SnailModeMap) Meta() Metadata
- func (m SnailModeMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m SnailModeMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- type SoloMazeMap
- func (m SoloMazeMap) AdjustPosition(mazePosition rules.Point, actualBoardSize int, boardHeight int, boardWidth int) rules.Point
- func (m SoloMazeMap) CreateMaze(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor, ...) error
- func (m SoloMazeMap) ID() string
- func (m SoloMazeMap) Meta() Metadata
- func (m SoloMazeMap) PlaceFood(boardState *rules.BoardState, settings rules.Settings, editor Editor, ...)
- func (m SoloMazeMap) ReadBitState(boardState *rules.BoardState) (int64, error)
- func (m SoloMazeMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m SoloMazeMap) SubdivideRoom(tempBoardState *rules.BoardState, rand rules.Rand, lowPoint rules.Point, ...) bool
- func (m SoloMazeMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
- func (m SoloMazeMap) WriteBitState(boardState *rules.BoardState, state int64, editor Editor)
- 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 ¶
const ( TAG_EXPERIMENTAL = "experimental" // experimental map, only available via CLI TAG_SNAKE_PLACEMENT = "snake-placement" // map overrides default snake placement TAG_HAZARD_PLACEMENT = "hazard-placement" // map places hazards TAG_FOOD_PLACEMENT = "food-placement" // map overrides or adds to default food placement )
const DEBUG_MAZE_GENERATION = false
When this is flipped to `true` TWO things happen
- More println style debugging is done
- We print out the current game board in between each room sub-division, and wait for the CLI User to hit enter to sub-divide the next room. This allows you to see the maze get generated in realtime, which was super useful while debugging issues in the maze generation
const EVIL_MODE_DISTANCE_TO_FOOD = 5
const INITIAL_MAZE_SIZE = 7
const MAX_TRIES = 100
const TURNS_AT_MAX_SIZE = 5
Variables ¶
var ArcadeMazeHazards []rules.Point = []rules.Point{}/* 187 elements not displayed */
Functions ¶
func AnySize ¶ added in v1.1.10
func AnySize() sizes
AnySize creates sizes for a board that has no fixed sizes (supports unlimited sizes).
func FixedSizes ¶ added in v1.1.10
func FixedSizes(a Dimensions, b ...Dimensions) sizes
FixedSizes creates dimensions for a board that has 1 or more fixed sizes. Examples: - FixedSizes(Dimension{9,11}) supports only a width of 9 and a height of 11. - FixedSizes(Dimensions{11,11},Dimensions{19,19}) supports sizes 11x11 and 19x19
func List ¶ added in v1.1.15
func List() []string
List returns a list of maps registered to the global registry.
func OddSizes ¶ added in v1.1.13
func OddSizes(min, max uint) sizes
OddSizes generates square (width = height) board sizes with an odd number of positions in the vertical and horizontal directions. Examples:
- OddSizes(11,21) produces [(11,11), (13,13), (15,15), (17,17), (19,19), (21,21)]
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 Dimensions ¶ added in v1.1.10
type Dimensions struct {
// Width is the width, in number of board squares, of the board.
// The value 0 has a special meaning to mean unlimited.
Width uint
// Height is the height, in number of board squares, of the board.
// The value 0 has a special meaning to mean unlimited.
Height uint
}
Dimensions describes the size of a Battlesnake board.
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 HealingPoolsMap ¶ added in v1.1.14
type HealingPoolsMap struct{}
func (HealingPoolsMap) ID ¶ added in v1.1.14
func (m HealingPoolsMap) ID() string
func (HealingPoolsMap) Meta ¶ added in v1.1.14
func (m HealingPoolsMap) Meta() Metadata
func (HealingPoolsMap) SetupBoard ¶ added in v1.1.14
func (m HealingPoolsMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (HealingPoolsMap) UpdateBoard ¶ added in v1.1.14
func (m HealingPoolsMap) UpdateBoard(lastBoardState *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) List ¶ added in v1.1.15
func (registry MapRegistry) List() []string
List returns all registered map IDs in alphabetical order
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 Metadata ¶
type Metadata struct {
Name string
Author string
Description string
// Version is the current version of the game map.
// Each time a map is changed, the version number should be incremented by 1.
Version uint
// MinPlayers is the minimum number of players that the map supports.
MinPlayers uint
// MaxPlayers is the maximum number of players that the map supports.
MaxPlayers uint
// BoardSizes is a list of supported board sizes. Board sizes can fall into one of 3 categories:
// 1. one fixed size (i.e. [11x11])
// 2. multiple, fixed sizes (i.e. [11x11, 19x19, 25x25])
// 3. "unlimited" sizes (the board is not fixed and can scale to any reasonable size)
BoardSizes sizes
// Tags is a list of strings use to categorize the map.
Tags []string
}
type RiverAndBridgesExtraLargeHazardsMap ¶ added in v1.1.16
type RiverAndBridgesExtraLargeHazardsMap struct{}
func (RiverAndBridgesExtraLargeHazardsMap) ID ¶ added in v1.1.16
func (m RiverAndBridgesExtraLargeHazardsMap) ID() string
func (RiverAndBridgesExtraLargeHazardsMap) Meta ¶ added in v1.1.16
func (m RiverAndBridgesExtraLargeHazardsMap) Meta() Metadata
func (RiverAndBridgesExtraLargeHazardsMap) SetupBoard ¶ added in v1.1.16
func (m RiverAndBridgesExtraLargeHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (RiverAndBridgesExtraLargeHazardsMap) UpdateBoard ¶ added in v1.1.16
func (m RiverAndBridgesExtraLargeHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type RiverAndBridgesLargeHazardsMap ¶ added in v1.1.16
type RiverAndBridgesLargeHazardsMap struct{}
func (RiverAndBridgesLargeHazardsMap) ID ¶ added in v1.1.16
func (m RiverAndBridgesLargeHazardsMap) ID() string
func (RiverAndBridgesLargeHazardsMap) Meta ¶ added in v1.1.16
func (m RiverAndBridgesLargeHazardsMap) Meta() Metadata
func (RiverAndBridgesLargeHazardsMap) SetupBoard ¶ added in v1.1.16
func (m RiverAndBridgesLargeHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (RiverAndBridgesLargeHazardsMap) UpdateBoard ¶ added in v1.1.16
func (m RiverAndBridgesLargeHazardsMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type RiverAndBridgesMediumHazardsMap ¶ added in v1.1.16
type RiverAndBridgesMediumHazardsMap struct{}
func (RiverAndBridgesMediumHazardsMap) ID ¶ added in v1.1.16
func (m RiverAndBridgesMediumHazardsMap) ID() string
func (RiverAndBridgesMediumHazardsMap) Meta ¶ added in v1.1.16
func (m RiverAndBridgesMediumHazardsMap) Meta() Metadata
func (RiverAndBridgesMediumHazardsMap) SetupBoard ¶ added in v1.1.16
func (m RiverAndBridgesMediumHazardsMap) SetupBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (RiverAndBridgesMediumHazardsMap) UpdateBoard ¶ added in v1.1.16
func (m RiverAndBridgesMediumHazardsMap) 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 SinkholesMap ¶ added in v1.1.14
type SinkholesMap struct{}
func (SinkholesMap) ID ¶ added in v1.1.14
func (m SinkholesMap) ID() string
func (SinkholesMap) Meta ¶ added in v1.1.14
func (m SinkholesMap) Meta() Metadata
func (SinkholesMap) SetupBoard ¶ added in v1.1.14
func (m SinkholesMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (SinkholesMap) UpdateBoard ¶ added in v1.1.14
func (m SinkholesMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
type SnailModeMap ¶ added in v1.1.16
type SnailModeMap struct{}
func (SnailModeMap) ID ¶ added in v1.1.16
func (m SnailModeMap) ID() string
ID returns a unique identifier for this map.
func (SnailModeMap) Meta ¶ added in v1.1.16
func (m SnailModeMap) Meta() Metadata
Meta returns the non-functional metadata about this map.
func (SnailModeMap) SetupBoard ¶ added in v1.1.16
func (m SnailModeMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
SetupBoard here is pretty 'standard' and doesn't do any special setup for this game mode
func (SnailModeMap) UpdateBoard ¶ added in v1.1.16
func (m SnailModeMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
UpdateBoard does the work of placing the hazards along the 'snail tail' of snakes This is responsible for saving the current tail location off the board and restoring the previous tail position. This also handles removing one hazards from the current stacks so the hazards tails fade as the snake moves away.
type SoloMazeMap ¶ added in v1.1.12
type SoloMazeMap struct{}
func (SoloMazeMap) AdjustPosition ¶ added in v1.1.12
func (SoloMazeMap) CreateMaze ¶ added in v1.1.12
func (m SoloMazeMap) CreateMaze(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor, currentLevel int64) error
func (SoloMazeMap) ID ¶ added in v1.1.12
func (m SoloMazeMap) ID() string
func (SoloMazeMap) Meta ¶ added in v1.1.12
func (m SoloMazeMap) Meta() Metadata
func (SoloMazeMap) PlaceFood ¶ added in v1.1.12
func (m SoloMazeMap) PlaceFood(boardState *rules.BoardState, settings rules.Settings, editor Editor, currentLevel int64)
func (SoloMazeMap) ReadBitState ¶ added in v1.1.12
func (m SoloMazeMap) ReadBitState(boardState *rules.BoardState) (int64, error)
func (SoloMazeMap) SetupBoard ¶ added in v1.1.12
func (m SoloMazeMap) SetupBoard(initialBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (SoloMazeMap) SubdivideRoom ¶ added in v1.1.12
func (m SoloMazeMap) SubdivideRoom(tempBoardState *rules.BoardState, rand rules.Rand, lowPoint rules.Point, highPoint rules.Point, disAllowedHorizontal []int, disAllowedVertical []int, depth int) bool
Mostly based off this algorithm from Wikipedia: https://en.wikipedia.org/wiki/Maze_generation_algorithm#Recursive_division_method
func (SoloMazeMap) UpdateBoard ¶ added in v1.1.12
func (m SoloMazeMap) UpdateBoard(lastBoardState *rules.BoardState, settings rules.Settings, editor Editor) error
func (SoloMazeMap) WriteBitState ¶ added in v1.1.12
func (m SoloMazeMap) WriteBitState(boardState *rules.BoardState, state int64, editor Editor)
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.