Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

143
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!