código de pilas
6 removals
68 lines
8 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;
}
}
}
}
}
}