Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

147
Visualizações
Javascript: mueve y gira la pelota con comandos

Tengo una tarea muy interesante, podría ser que alguien pueda proponer un mejor algoritmo.
Tenemos una pelota, que se mueve sola por los siguientes parámetros:

  • velocidad
  • rumbo (el ángulo de movimiento como 90/180/270/360 grados desde Ost/West definido)

La bola tiene una lista definida de velocidad, rumbo e intervalo, después de lo cual tiene que tomar la siguiente velocidad y rumbo.

Estoy tratando de implementar esto en JavaScript, pero realmente me quedé atascado. Por ejemplo:

 function go(ball, element) { let speed = element.speed; let heading = ball.heading; ball.roll(speed, heading); // this function makes just one coup }

La función principal funciona con una lista de elementos (por ejemplo):

 [ { "point": 1, "heading": 90, //angle "speed": 50, "duration": 30 //duration }, { "point": 2, "heading": 180, //angle "speed": 50, "duration": 6 //duration }, { "point": 3, "heading": 270, //angle "speed": 50, "duration": 3 //seconds } ]

Función principal como primera idea:

 function startRolling (elements) { for (var element of elements) { let distance = element.distance; var timerId = setInterval(() => go(bolt, element), distance * 1000); setTimeout(() => { clearInterval(timerId) }, distance); } }

No soy un gran experto en JavaScript, sé cómo implementar esto en Java, pero no puedo encontrar una solución en JavaScript. ¿Podría alguien ayudarme, por favor?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

También podría estructurarlo de esta manera, donde cada bola es un objeto, almacena su propia velocidad y encapsula su propia lógica de "ir". Luego lo administra como una lista/matriz de objetos Ball, iterando a través de él llamando a sus métodos go , draw , update , lo que sea , a intervalos regulares.

 class Vector { constructor(x, y) { this.x = x; this.y = y; } } class Ball { constructor(x, y) { this.pos = new Vector(x, y); this.vel = new Vector(/* some random numbers here */); } go() { this.pos.x += this.vel.x; this.pos.y += this.vel.y; } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda