game

package
v0.0.0-...-0637ba6 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2018 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const D = 45
View Source
const NumObjID = 36

Variables

View Source
var (
	Ex = Pt{1, 0}
	Ey = Pt{0, 1}

	Right = Pt{1, 0}
	Up    = Pt{0, -1}
	Left  = Pt{-1, 0}
	Down  = Pt{0, 1}
)
View Source
var AllLevels = []string{
	`H4sIAAAAAAAA_9ySsarCUBBEZ_eFPJUUIiIp7MTKvxBL_yCkCJJCDFoY7I3Rz3ZlE7GQjfdWFk65HA7DsDM5_xH11_kpL1ZZmZFUIKJwWRw2uyPJDcBErkz0n6RJut2XeiOpgUguTCw1KADuwVwqihfwzzfZuI0fyxoX-zQyADfbGhmhD9sYPb0Yg5kjn75qHDRWYwmrLwKYSxg7qHtqNX7fV809dQ992O4lDHakrLvvy2t-hNXX2tZkO37MYj_ll1k8AAAA`,
	`H4sIAAAAAAAA_9yRv26DQAyHbRdRVepcebit6sRbVB37BogBRQxRUDIEZQ8heew4OnyEP7ojSNniAQH6_N3Pvm85viF-_BeHovzLqxylBkSMf8vdarNHuQDAl5wJ8T3N0my9rew_lAbgU06EJA1gBHCNfqRGTmB5PcWyq0UstcX3Jp5j7ZOYXRN5WafpWdA3L6uaFjHMbLzswEiPvAMjMZEhM8e2xxon7I4xvtmYIHLGgde_M-ed7CHEal71TlkO7UFTW9Z28ihwMrmxfr_GNc6yGsh-2cY4wCrUJdIRAhlGk4RmW1ivzMINAAD_`,
	`H4sIAAAAAAAA_9ySMe-CMBDF3_En_GPibBi6GSe_hXH0GxAGYhiMRAeJu4h-bM-YtrSkVKmjlxjh7tfH4x1zvvwRTTbluazWRV0QNyCiZFUdt_sT8R3AjG8R0X-WZ_nuUL96xC0w5WtEEbegGHjEC24oXWJ8BbPpp-qx8oA6pTq667BC3sqJgBqLQVZitm7q09W-zB-8fgNYbUF76C6VEZuNxVCeik36-cpf_6k-Xduszvrtu3WsCGCNLswmHRYmAtiLc1k1s2Lw68Is1Unlq29yZP0yiycAAAD_`,
	`H4sIAAAAAAAA_8xSvUrGQBCcjeETwVoWW7HyLcTSN_hIESSFGLQw2Bujj-1Kctm9vwST7jvIQu7mZuZm90Y-z4guHpuPpn2ou5qkBxEd7tu3p5d3kh8AV_JdEJ0fq2P1_NqNeyQDcClfBRUygErgt7yVnvgO29duLP-zImw51RW6BDsyT9VJREIZdv6cHkMr217Iq4SKMXzO6375wKwXncwi1mz6i4rJ_ao8gpcZScIblCAue3bs18jD5OA9pTnMUfjMeBEbqJpTcHSYzAPUMluDM14l1V7BT03uQQ-UVZuxwGsnmr1C-DrLLPbhMl6Z3x2zvnGdAhZ_AAAA`,
	`H4sIAAAAAAAA_9yRT0vDQBDF34yhYslJRPbgTQTRi0goQUopofTkNyg9FOlBLHoweDdGP7Yjm0103T-sZ98yOez7MfMyeyqve0QHt9uX7W6xqTckDYhoVO2e7h6eST4AHMs7E-2v1qv1_WOt70haIJc3JpYWlAGf2Zk0pC5hS_GIFWJyWSRY9SPNKv4lh7Udy17oj8d2V4xDYwz2SZwtjeEMtlmTcl7Oh-nFtJgWnXfhsn0bBq6SfQFk6PMeJfKa3y-Z_U15ezB5gXGupy9numDv0N8D8jGAGSamrm-GE2J13-WEv-sP7-YRLuuLq_MK3XFYXyraN8TG8gZYSyk2rP_M4gsAAP__`,
	`H4sIAAAAAAAA_1L-38jMyMjpk1qWmuOSWJLI-L-JgZGRkc0pJz85u5jxfxsDA4PY_1YmRkb26Njo2My8EpAY4_8WBgae_81MjEz_WxgYWRgY_rGo_m9ilNBmQANMLEzoQjCAqZZhoNQyIQAymwmrWgUIgJmrAgHY1SrBzIGohfCUcKmVkJCQgMtBeDjVorgPv7kqLioOBlBVDAwMNi4KbgrUMJcs94IDgoB7nVTc7BjgEWfkpOCAy71IwIZAvCEBJjtcCQKLWgsS1FqRoBZnohykatmoYS4DAAAA`,
	`H4sIAAAAAAAA_9SSv0oDQRDGvxmPiGJlIVtsEdZ1mryFWPoGIUWQFGLQwmBvjD62I9nb9bw_HHOl3zXH3I_fDR9zre8nRGf3m7fN9m69W5PuQUSz2-3Lw9Mr6ReAK_1kotPlarl6fN4dZ6QH4EI_mFgPoAr4rm50T24BeyazPJ42C_h5irB0bbHHZoVw_9fDXrGx2So8N3mF7d7Cpm3yZw-Ehs2teMksIwAobKu5BVClqcvxCLj8Zc-dc-ll9tcbuH7GvWXfmgVCjDE2-8pQD4W19Xtkbf3WZquXbWy-s8Chi3bvbML9GvPfWPwAAAD_`,
	`H4sIAAAAAAAA_-zRP4vCQBAF8DdzIfeHFMdxHFNcJ1Z-C7H0G4QUQVKIQQuDvTH6sR3ZBKOJSXYbO6dcfjweb0e6fyP6nCe7JJ3FWUyag4j8abpZrLakJwB_emSi9zAKo-U6M2-kBRDogYm1AHnA2RtrTjLB_Yn4IiLovpZlYWableoYgN2yOVdbKlf7C2YOXPqaxK8ytXeJZl94qHoP2-sK__2Nb_ua5A-T_e1ibUs07A9YHPrWuWLfof65TvVgBxLb1n4v-1yLCwAAAP__`,
	`H4sIAAAAAAAA_-zOsarCYAzF8XNySy-Cs2T4NnHqW4ijb1A6FOkgFh0s7tbqYxupWKSDNjg3Y_hx-M_t_EdO1sWpKFd5ldNqkIyX5WGzO9JuAGZ2FfI_zdJsu6_aH60BpnYRijVgBNyjhdXUBP77zQrEa2UYd1aiMIiTbjVgEL-siooGFXXvht5u_LH3uerqhbat4WvC27ZYfdZzox1t7x4AAAD_`,
	`H4sIAAAAAAAA_1L-38jMyMjpk1qWmuOSWJLI-L-JgZGRkc0pJz85u5jxfxsDA4PY_1YmRkb26Njo2My8EpAY4_8WBgae_81MjEz_WxgYWRgY_rGo_m9ilNBmIB6Mqh1VO6p2ZKllAAAAAP__`,
	`H4sIAAAAAAAA_1L-38jMyMjpk1qWmuOSWJLI-L-JgZGRkc0pJz85u5jxfxsDA4PY_1YmRkb26Njo2My8EpAY4_8WBgae_81MjEz_WxgYWRgY_rGo_m9ilNBmIB6Mqh1VO6p2ZKllAAAAAP__`,
}

Functions

func Encode

func Encode(d *LevelData) string

func GetImg

func GetImg(src string) ui.Img

func Main

func Main()

func PlayerCanWalk

func PlayerCanWalk(o Obj) bool

Types

type Arrow

type Arrow struct {
	Sprite
	Dir Pt
}

type Bomb

type Bomb struct{ Sprite }

func (*Bomb) Step

func (b *Bomb) Step(p Pt)

type Brick

type Brick struct {
	Sprite
	// contains filtered or unexported fields
}

func (Brick) PlayerCanWalk

func (Brick) PlayerCanWalk() bool

type Button

type Button struct {
	Sprite
	ID int
}

func (*Button) Step

func (b *Button) Step(_ Pt)

type Crate

type Crate struct {
	Sprite
	// contains filtered or unexported fields
}

func (*Crate) Bump

func (c *Crate) Bump(src, dir Pt)

func (Crate) IsLayer1

func (Crate) IsLayer1()

func (Crate) PlayerCanWalk

func (Crate) PlayerCanWalk() bool

type Exit

type Exit struct{ Sprite }

type Flippers

type Flippers struct {
	Sprite
}

func (*Flippers) Step

func (f *Flippers) Step(pos Pt)

type Gate

type Gate struct {
	ID     int
	Closed bool
	// contains filtered or unexported fields
}

func (*Gate) Img

func (g *Gate) Img() ui.Img

func (*Gate) PlayerCanWalk

func (g *Gate) PlayerCanWalk() bool

type IsLayer1

type IsLayer1 interface {
	Obj
	IsLayer1()
}

type Key

type Key struct {
	Sprite
	ID int
}

func (*Key) Grab

func (k *Key) Grab(pos Pt)

type Level

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

func DecodeLevel

func DecodeLevel(data string) *Level

func (*Level) At0

func (l *Level) At0(p Pt) Obj

func (*Level) At1

func (l *Level) At1(p Pt) Obj

func (*Level) CanMove0

func (l *Level) CanMove0(src, dir Pt) bool

func (*Level) CanMove01

func (l *Level) CanMove01(src, dir Pt) bool

func (*Level) CanMove1

func (l *Level) CanMove1(src, dir Pt) bool

func (*Level) Draw

func (l *Level) Draw()

func (*Level) Height

func (l *Level) Height() int

func (*Level) Set0

func (l *Level) Set0(p Pt, o Obj)

func (*Level) Set1

func (l *Level) Set1(p Pt, o Obj)

func (*Level) Step

func (l *Level) Step(p Pt)

TODO: Trigger

func (*Level) Tick

func (l *Level) Tick()

func (*Level) Width

func (l *Level) Width() int

type LevelData

type LevelData struct {
	Blocks [][]int
}

func Decode

func Decode(data string) (LevelData, error)

type Lock

type Lock struct {
	Sprite
	ID int
	// contains filtered or unexported fields
}

func (Lock) PlayerCanWalk

func (Lock) PlayerCanWalk() bool

type Obj

type Obj interface {
	Img() ui.Img
}

func DecodeObj

func DecodeObj(id int) Obj

ObjProto maps integers onto a prototype object.

type Player

type Player struct {
	Sprite
	Pos Pt
	// contains filtered or unexported fields
}

func (*Player) Kill

func (p *Player) Kill()

func (*Player) Move

func (p *Player) Move(dir Pt)

type Pt

type Pt struct {
	X, Y int
}

A Pt is a 2D point or vector.

func (Pt) Add

func (p Pt) Add(q Pt) Pt

func (Pt) Clip1

func (p Pt) Clip1() Pt

Clip X,Y within [-1, 1], e.g. to limit speed.

func (Pt) Dot

func (p Pt) Dot(q Pt) int

func (Pt) Mul

func (p Pt) Mul(s int) Pt

func (Pt) Sub

func (p Pt) Sub(q Pt) Pt

type Sprite

type Sprite string

func (Sprite) Img

func (s Sprite) Img() ui.Img

type Tile

type Tile struct{ Sprite }

type Walker

type Walker struct {
	Dir Pt
	// contains filtered or unexported fields
}

func (*Walker) Deadly

func (w *Walker) Deadly() bool

func (*Walker) Img

func (w *Walker) Img() ui.Img

func (Walker) IsLayer1

func (Walker) IsLayer1()

func (*Walker) Tick

func (w *Walker) Tick(pos Pt)

type Water

type Water struct {
	Sprite
}

func (*Water) Step

func (w *Water) Step(pos Pt)

Jump to

Keyboard shortcuts

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