game

package
v0.0.0-...-740fe35 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EuclidianDistance

func EuclidianDistance(a, b Vector) float64

func GetOrderedIds

func GetOrderedIds[T any](m map[uuid.UUID]T) []uuid.UUID

func QuickDistance

func QuickDistance(a, b Vector) float64

Types

type Bullet

type Bullet struct {
	Serial
	Position Vector
	Rotation float64
	Life     int
	// contains filtered or unexported fields
}

func NewBullet

func NewBullet(pos Vector, rotation float64) *Bullet

func (*Bullet) Collider

func (b *Bullet) Collider() Rect

func (*Bullet) CopyFrom

func (b *Bullet) CopyFrom(other *Bullet)

func (*Bullet) Draw

func (b *Bullet) Draw(screen *ebiten.Image, geom ebiten.GeoM)

func (*Bullet) ToJson

func (b *Bullet) ToJson() string

func (*Bullet) Update

func (b *Bullet) Update()

type Camera

type Camera struct {
	ViewPort   f64.Vec2
	Position   f64.Vec2
	ZoomFactor float64
	Rotation   int
	Matrix     ebiten.GeoM
	// contains filtered or unexported fields
}

func (*Camera) Render

func (c *Camera) Render(world, screen *ebiten.Image)

func (*Camera) Reset

func (c *Camera) Reset()

func (*Camera) ScreenToWorld

func (c *Camera) ScreenToWorld(posX, posY int) (float64, float64)

func (*Camera) String

func (c *Camera) String() string

func (*Camera) Update

func (c *Camera) Update(r *Rabbit) error

type ClientScene

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

func NewClientScene

func NewClientScene(g *Game, client network.GenericClient) *ClientScene

func (*ClientScene) Draw

func (g *ClientScene) Draw(screen *ebiten.Image)

func (*ClientScene) Layout

func (g *ClientScene) Layout(outsideWidth, outsideHeight int) (int, int)

func (*ClientScene) Reset

func (g *ClientScene) Reset()

func (*ClientScene) SpawnElement

func (s *ClientScene) SpawnElement(name string, element interface{})

func (*ClientScene) Update

func (s *ClientScene) Update() error

func (*ClientScene) UpdateBulletsOrder

func (s *ClientScene) UpdateBulletsOrder()

func (*ClientScene) UpdateLettucesOrder

func (s *ClientScene) UpdateLettucesOrder()

func (*ClientScene) UpdateRabbits

func (s *ClientScene) UpdateRabbits()

func (*ClientScene) UpdateRabbitsOrder

func (s *ClientScene) UpdateRabbitsOrder()

type Form

type Form struct {
	Serial

	Position Vector
	// contains filtered or unexported fields
}

func NewForm

func NewForm() *Form

func (*Form) CopyFrom

func (r *Form) CopyFrom(other *Form)

func (*Form) Draw

func (f *Form) Draw(screen *ebiten.Image, geom ebiten.GeoM)

func (*Form) ToJson

func (r *Form) ToJson() string

func (*Form) Update

func (f *Form) Update()

type Game

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

func (*Game) Draw

func (g *Game) Draw(screen *ebiten.Image)

func (*Game) GetCurrentScene

func (g *Game) GetCurrentScene() Scene

GetCurrentScene devuelve la escena actual del juego

func (*Game) Layout

func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int)

func (*Game) SetScene

func (g *Game) SetScene(scene Scene)

SetScene cambia la escena actual del juego

func (*Game) Update

func (g *Game) Update() error

Implementa ebiten.Game para Game

type Lettuce

type Lettuce struct {
	Serial

	Position Vector
	// contains filtered or unexported fields
}

func NewLettuce

func NewLettuce() *Lettuce

func (*Lettuce) Collider

func (l *Lettuce) Collider() Rect

func (*Lettuce) CopyFrom

func (r *Lettuce) CopyFrom(other *Lettuce)

func (*Lettuce) Draw

func (l *Lettuce) Draw(screen *ebiten.Image, geom ebiten.GeoM)

func (*Lettuce) ToJson

func (r *Lettuce) ToJson() string

func (*Lettuce) Update

func (m *Lettuce) Update()

type Meteor

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

func NewMeteor

func NewMeteor(baseVelocity float64) *Meteor

func (*Meteor) Collider

func (m *Meteor) Collider() Rect

func (*Meteor) Draw

func (m *Meteor) Draw(screen *ebiten.Image)

func (*Meteor) Update

func (m *Meteor) Update()

type Player

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

func NewPlayer

func NewPlayer(game *Scene) *Player

func (*Player) Collider

func (p *Player) Collider() Rect

func (*Player) Draw

func (p *Player) Draw(screen *ebiten.Image)

func (*Player) Update

func (p *Player) Update()

type Rabbit

type Rabbit struct {
	Serial

	Position Vector  `json:"position"`
	Rotation float64 `json:"rotation"`
	Speed    float64 `json:"speed"`
	Score    int32   `json:"score"`
	Heat     int64   `json:"heat"`
	Load     int64   `json:"load"`
	// contains filtered or unexported fields
}

func NewRabbit

func NewRabbit(game *Game) *Rabbit

func (*Rabbit) Collider

func (r *Rabbit) Collider() Rect

func (*Rabbit) CopyFrom

func (r *Rabbit) CopyFrom(other *Rabbit)

func (*Rabbit) Draw

func (r *Rabbit) Draw(screen *ebiten.Image, geom ebiten.GeoM)

func (*Rabbit) Fired

func (r *Rabbit) Fired()

func (*Rabbit) Interact

func (r *Rabbit) Interact() bool

func (*Rabbit) ToJson

func (r *Rabbit) ToJson() string

func (*Rabbit) Update

func (r *Rabbit) Update()

type RabbitDirectScene

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

func NewRabbitDirectScene

func NewRabbitDirectScene(g *Game) *RabbitDirectScene

func (*RabbitDirectScene) Draw

func (g *RabbitDirectScene) Draw(screen *ebiten.Image)

func (*RabbitDirectScene) Layout

func (g *RabbitDirectScene) Layout(outsideWidth, outsideHeight int) (int, int)

func (*RabbitDirectScene) Reset

func (g *RabbitDirectScene) Reset()

func (*RabbitDirectScene) SpawnElement

func (s *RabbitDirectScene) SpawnElement(name string, element interface{})

func (*RabbitDirectScene) Update

func (g *RabbitDirectScene) Update() error

type Rect

type Rect struct {
	X      float64
	Y      float64
	Width  float64
	Height float64
}

func NewRect

func NewRect(x, y, width, height float64) Rect

func (Rect) Intersects

func (r Rect) Intersects(other Rect) bool

func (Rect) MaxX

func (r Rect) MaxX() float64

func (Rect) MaxY

func (r Rect) MaxY() float64

type Scene

type Scene interface {
	Update() error
	Draw(screen *ebiten.Image)
	Layout(outsideWidth, outsideHeight int) (int, int)
	SpawnElement(name string, g interface{})
}

type SceneManager

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

func (*SceneManager) Draw

func (s *SceneManager) Draw(screen *ebiten.Image)

func (*SceneManager) Update

func (s *SceneManager) Update() error

type Serial

type Serial struct {
	ID        uuid.UUID `json:"id"`
	ClassName string    `json:"class_name"`
	Action    string    `json:"action"`
}

type ServerScene

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

func NewServerScene

func NewServerScene(g *Game, server *network.Server) *ServerScene

func (*ServerScene) CheckTime

func (s *ServerScene) CheckTime()

func (*ServerScene) Draw

func (g *ServerScene) Draw(screen *ebiten.Image)

func (*ServerScene) Layout

func (g *ServerScene) Layout(outsideWidth, outsideHeight int) (int, int)

func (*ServerScene) Reset

func (g *ServerScene) Reset()

func (*ServerScene) SpawnElement

func (s *ServerScene) SpawnElement(name string, element interface{})

func (*ServerScene) Update

func (s *ServerScene) Update() error

func (*ServerScene) UpdateRabbits

func (s *ServerScene) UpdateRabbits()

type Timer

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

func NewTimer

func NewTimer(d time.Duration) *Timer

func (*Timer) IsReady

func (t *Timer) IsReady() bool

func (*Timer) Reset

func (t *Timer) Reset()

func (*Timer) Update

func (t *Timer) Update()

type Vector

type Vector struct {
	X float64
	Y float64
}

func (Vector) Normalize

func (v Vector) Normalize() Vector

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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