tetris

package
v0.0.0-...-9c9a4a3 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindSimilarPatterns

func FindSimilarPatterns(chamber *Chamber) (*DeepPattern, *DeepPattern)

func Simulate

func Simulate(chamber *Chamber, n int)

Types

type Chamber

type Chamber struct {
	Height int
	Width  int
	// contains filtered or unexported fields
}

func NewChamber

func NewChamber(width int, jetGen *JetGenerator, rockGen *RockGenerator, print bool) *Chamber

func (*Chamber) CurrentRockResting

func (c *Chamber) CurrentRockResting() bool

func (*Chamber) Jet

func (c *Chamber) Jet()

func (*Chamber) NextJetIndex

func (c *Chamber) NextJetIndex() int

func (*Chamber) NextRockIndex

func (c *Chamber) NextRockIndex() int

func (*Chamber) Print

func (c *Chamber) Print()

func (*Chamber) SettleCurrentRock

func (c *Chamber) SettleCurrentRock()

func (*Chamber) SpawnRock

func (c *Chamber) SpawnRock()

func (*Chamber) Tick

func (c *Chamber) Tick()

type Coordinate

type Coordinate struct {
	X int
	Y int
}

type DeepPattern

type DeepPattern struct {
	Rocks    int
	Height   int
	Depths   []int
	NextRock int
	NextJet  int
}

func (*DeepPattern) SamePattern

func (p *DeepPattern) SamePattern(other *DeepPattern) bool

type JetGenerator

type JetGenerator struct {
	// contains filtered or unexported fields
}

func NetJetGenerator

func NetJetGenerator(pattern []byte) *JetGenerator

func (*JetGenerator) Generate

func (g *JetGenerator) Generate() byte

func (*JetGenerator) Next

func (g *JetGenerator) Next() int

type Rock

type Rock struct {
	Position Coordinate
	Pattern  []int
	Cols     int
	Rows     int
	Rest     bool
}

func NewRock

func NewRock(t Rock) *Rock

type RockGenerator

type RockGenerator struct {
	// contains filtered or unexported fields
}

func NewRockGenerator

func NewRockGenerator() *RockGenerator

func (*RockGenerator) Generate

func (g *RockGenerator) Generate() *Rock

func (*RockGenerator) Next

func (g *RockGenerator) Next() int

Jump to

Keyboard shortcuts

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