código de pilas

Created Diff never expires
5 removals
67 lines
9 additions
71 lines
// @ts-ignore
// @ts-ignore
class aceituna extends Actor {
class aceituna extends Actor {


puntoDeVista: Laser
puntoDeVista: Laser


iniciar() {
iniciar() {
this.imagen = "imagenes:objetos/aceituna";
this.imagen = "imagenes:objetos/aceituna";
this.puntoDeVista = this.obtener_laser('rayo')
this.puntoDeVista = this.obtener_laser('rayo')
}
}


actualizar() {
actualizar() {


this.pintar();
this.pintar();


this.pilas.observar("PDV", this.puntoDeVista.rotacion)
this.pilas.observar("PDV", this.puntoDeVista.rotacion)
this.moverse();
this.moverse();
}
}


pintar(){
pintar(){
let listaADibujar = this.sensar()
let listaADibujar = this.sensar()


let pizarra = this.pilas.obtener_actor_por_nombre('pizarra')
let pizarra = this.pilas.obtener_actor_por_nombre('pizarra')


pizarra.renderizar(listaADibujar)
pizarra.renderizar(listaADibujar)
}
}
sensar() {
sensar() {
let distancias = []
let distancias = []
let rayos = 0;
let rayos = 0;


let centro = this.puntoDeVista.rotacion;


while (rayos < 96) {
while (rayos < 96) {
this.puntoDeVista.rotacion = 42 - rayos
this.puntoDeVista.rotacion = centro - rayos
let distancia = this.puntoDeVista.distancia_al_actor_mas_cercado()
let distancia = this.puntoDeVista.distancia_al_actor_mas_cercado()
distancias.push(distancia)
distancias.push(distancia)
this.pilas.observar("lista", distancias)
this.pilas.observar("lista", distancias)
rayos = rayos + 1
rayos = rayos + 1
}
}
this.puntoDeVista.rotacion = centro;
return distancias
return distancias

}
}










moverse() {
moverse() {
let velocidad = 5;
let velocidad = 5;
let velocidad_para_doblar = 5;
let velocidad_para_doblar = 5;


if (this.pilas.control.arriba) {
if (this.pilas.control.arriba) {
this.avanzar(this.rotacion, velocidad)
this.avanzar(this.rotacion, velocidad)
}
}


if (this.pilas.control.izquierda) {
if (this.pilas.control.izquierda) {
this.rotacion += velocidad_para_doblar;
this.rotacion += velocidad_para_doblar;
this.puntoDeVista.rotacion += this.rotacion
this.puntoDeVista.rotacion += velocidad_para_doblar;

}
}


if (this.pilas.control.derecha) {
if (this.pilas.control.derecha) {
this.rotacion -= velocidad_para_doblar;
this.rotacion -= velocidad_para_doblar;
this.puntoDeVista.rotacion -= velocidad_para_doblar;
}
}
}
}


}
}