formas

package
v0.0.0-...-53e355e Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Classes e interfaces de formas geométricas

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Balao

type Balao struct {
	Texto
	// 10 filas circulares estáticas
	// Cada fila pode ter até 15 listas duplamente encadeadas de formas
	Filas              [9]*estruturas.Fila
	RaioCamera         float64
	ProfundidadeCamera float64
	AlturaCamera       float64
}

func NewBalao

func NewBalao() *Balao

type Caca

type Caca struct {
	Texto
	IdsAtingidos []int
	Disparos     int
}

func (Caca) Pontos

func (c Caca) Pontos() int

type Circulo

type Circulo struct {
	Forma
	Raio float64
}

func (Circulo) Area

func (c Circulo) Area() float64

func (Circulo) Desenhar

func (c Circulo) Desenhar(canvas *svg.SVG)

func (Circulo) InterceptaCirculo

func (c Circulo) InterceptaCirculo(x float64, y float64, raio float64) bool

func (Circulo) InterceptaRetangulo

func (c Circulo) InterceptaRetangulo(x float64, y float64, largura float64, altura float64) bool

func (Circulo) Pontos

func (c Circulo) Pontos() int

type Desenhavel

type Desenhavel interface {
	Desenhar(*svg.SVG)
}

Desenhavel é uma interface que define um método Desenhar

type Forma

type Forma struct {
	Id       int
	X        float64
	Y        float64
	CorBorda string
	CorFundo string
	Rotacao  float64
}

type FormaI

type FormaI interface {
	Desenhavel
	Pontuavel
	Interceptavel
}

type Interceptavel

type Interceptavel interface {
	InterceptaRetangulo(x float64, y float64, largura float64, altura float64) bool
	InterceptaCirculo(x float64, y float64, raio float64) bool
}

Formas que podem estar dentro uma outra forma

type Linha

type Linha struct {
	Forma
	X2 float64
	Y2 float64
}

func (Linha) Area

func (l Linha) Area() float64

func (Linha) Desenhar

func (l Linha) Desenhar(canvas *svg.SVG)

func (Linha) InterceptaCirculo

func (l Linha) InterceptaCirculo(x float64, y float64, raio float64) bool

func (Linha) InterceptaRetangulo

func (l Linha) InterceptaRetangulo(x float64, y float64, largura float64, altura float64) bool

func (Linha) Pontos

func (l Linha) Pontos() int

type Pontuavel

type Pontuavel interface {
	Area() float64
	Pontos() int
}

type Retangulo

type Retangulo struct {
	Forma
	Largura float64
	Altura  float64
}

func (Retangulo) Area

func (r Retangulo) Area() float64

func (Retangulo) Desenhar

func (r Retangulo) Desenhar(canvas *svg.SVG)

func (Retangulo) InterceptaCirculo

func (r Retangulo) InterceptaCirculo(x float64, y float64, raio float64) bool

func (Retangulo) InterceptaRetangulo

func (r Retangulo) InterceptaRetangulo(x float64, y float64, largura float64, altura float64) bool

func (Retangulo) Pontos

func (r Retangulo) Pontos() int

type Texto

type Texto struct {
	Forma
	Texto   string
	Ancora  string
	Familia string
	Tamanho string
	Peso    string
}

func (Texto) Area

func (t Texto) Area() float64

func (Texto) Desenhar

func (t Texto) Desenhar(canvas *svg.SVG)

func (Texto) InterceptaCirculo

func (t Texto) InterceptaCirculo(x float64, y float64, raio float64) bool

func (Texto) InterceptaRetangulo

func (t Texto) InterceptaRetangulo(x float64, y float64, largura float64, altura float64) bool

func (Texto) Pontos

func (t Texto) Pontos() int

Jump to

Keyboard shortcuts

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