grid

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Up        = Direction{Dx: 0, Dy: -1}
	Down      = Direction{Dx: 0, Dy: 1}
	Left      = Direction{Dx: -1, Dy: 0}
	Right     = Direction{Dx: 1, Dy: 0}
	UpLeft    = Direction{Dx: -1, Dy: -1}
	UpRight   = Direction{Dx: 1, Dy: -1}
	DownLeft  = Direction{Dx: -1, Dy: 1}
	DownRight = Direction{Dx: 1, Dy: 1}

	NormalDirections = []Direction{Up, Down, Left, Right}
	AllDirections    = []Direction{Up, Down, Left, Right, UpLeft, UpRight, DownLeft, DownRight}
)

Functions

This section is empty.

Types

type Direction

type Direction struct {
	Dx int
	Dy int
}

func (Direction) Opposite

func (d Direction) Opposite() Direction

func (Direction) Rotate added in v0.1.8

func (d Direction) Rotate() Direction

func (Direction) Scale

func (d Direction) Scale(n int) Direction

type Grid

type Grid[T comparable] struct {
	// contains filtered or unexported fields
}

func New

func New[T comparable](rows, cols int) *Grid[T]

func NewWithString added in v0.2.1

func NewWithString(s string) *Grid[rune]

func (*Grid[T]) Copied added in v0.2.1

func (g *Grid[T]) Copied() *Grid[T]

func (*Grid[T]) Copy

func (g *Grid[T]) Copy(gg *Grid[T])

func (*Grid[T]) CopyTo added in v0.2.1

func (g *Grid[T]) CopyTo(gg *Grid[T])

func (*Grid[T]) Equal added in v0.1.3

func (g *Grid[T]) Equal(f *Grid[T]) bool

func (*Grid[T]) Get

func (g *Grid[T]) Get(p Position) T

func (*Grid[T]) Getrc added in v0.2.1

func (g *Grid[T]) Getrc(row, col int) T

func (*Grid[T]) Nearest added in v0.2.1

func (g *Grid[T]) Nearest(from Position, dirs []Direction, ok func(Position) bool, dir ...Direction) *Position

func (*Grid[T]) OutBound

func (g *Grid[T]) OutBound(pos Position) bool

func (*Grid[T]) Range

func (g *Grid[T]) Range(action RangeAction[T])

func (*Grid[T]) Set

func (g *Grid[T]) Set(p Position, val T)

func (*Grid[T]) SetData

func (g *Grid[T]) SetData(data [][]T)

type Position

type Position struct {
	Row int
	Col int
}

func TransForm

func TransForm(p Position, d Direction) Position

func (Position) TransForm added in v0.1.8

func (p Position) TransForm(d Direction) Position

type RangeAction

type RangeAction[T comparable] func(pos Position, char T, isLineEnd bool) (end bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL