Entity

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 22, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const SCALE = 0.01

échelle qui correspond à la taille des entité (1 => 128px; 0.5 => 64px; ...)

Variables

View Source
var (
	//texture utilisée pour afficher l'entité sur la fenêtre
	TextureEntite rl.Texture2D

	//bool utilisé pour savoir si l'on affiche une représentation graphique de la valeur morale de l'entité
	ShowEntityRadiusVision = false
)

Functions

This section is empty.

Types

type Entity

type Entity struct {
	ValeurMorale uint8 // Valeur aléatoire qui va déterminer le groupe que l'entité rejoindra

	HitBox    graphic.Circle
	ID        int
	Dead      bool
	TimeAlive float32
	Facing    float32
}

Définition de la classe "Entity"

func NewEntity

func NewEntity(position graphic.Vector2, id int, valeurMorale uint8) *Entity

Initialisation d'une instance entité

func (*Entity) DistanceMorale

func (e *Entity) DistanceMorale(otherEntity *Entity) uint8

func (*Entity) GetPointCollision

func (e *Entity) GetPointCollision(point graphic.Vector2) bool

Fonction qui définit la Hitbox de l'entité

func (*Entity) Goto

func (e *Entity) Goto(point graphic.Vector2)

aller à un point

func (*Entity) GotoDivide

func (e *Entity) GotoDivide(point graphic.Vector2)

aller à un point en divisant la distance par une certaine valeur

func (*Entity) GotoLinear

func (e *Entity) GotoLinear(point graphic.Vector2)

aller à un point de manière linéaire

func (*Entity) Kill

func (e *Entity) Kill(othersEntities *[]*Entity)

fonction permettant à chaque entités d'avoir une chance de tuer une autre entité qui aurait une valeur morale différente plus la différence entre les valeurs morales est grande, et plus l'entité a de chance de tuer l'entité concernée Par Gaël

func (*Entity) Move

func (e *Entity) Move(otherEntities []*Entity)

func (*Entity) MoveToClosestNeighbour

func (e *Entity) MoveToClosestNeighbour(otherEntities []*Entity)

Cette fonction permet de déplacer l'entité et de rapprocher l'entité des entités similaires. Elle choisit une destination qui est la 'moyenne' des position pondérée à l'aide des 'distances morales' Elle ne peut "voir" que les autres entités qui sont dans un certain rayon de cette dernière

func (*Entity) MoveToWeightedAverage

func (e *Entity) MoveToWeightedAverage(otherEntities []*Entity)

Fonction qui leur permet de tous se regrouper

func (*Entity) Render

func (e *Entity) Render()

Cette fonction s'occupe d'afficher visuellement l'entité

func (*Entity) RenderSensibilityZone

func (e *Entity) RenderSensibilityZone()

Cette fonction permet d'afficher le périmètre dans lequel l'entité peut voir les autres entités

func (*Entity) Reproduce

func (e *Entity) Reproduce(othersEntities *[]*Entity)

fonction pour faire se reproduire les entités. les nouvelles cellules sont proches "moralement" de celles qui les ont engendré

func (*Entity) UnCollideAgressive

func (e *Entity) UnCollideAgressive(entities []*Entity)

L'entité balaye toutes les autres entités sur son chemin

func (*Entity) UnCollidePassive

func (e *Entity) UnCollidePassive(entities []*Entity)

l'entité se déplace lorsqu'elle est en collision avec une autre

func (*Entity) Uncollide

func (e *Entity) Uncollide(entities []*Entity)

func (*Entity) Update

func (e *Entity) Update(otherEntities *[]*Entity)

Fonction qui met à jour les variables de l'entité

func (*Entity) UpdateAge

func (e *Entity) UpdateAge()

-------------------------------------------------- Fonction qui élimine l'entité au bout d'un moment donné

Jump to

Keyboard shortcuts

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