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

126
Views
¿Encontrar rutas especiales usando js y p5?

He estado tratando de crear un sistema de enrutamiento fluvial con una cuadrícula para simplificar todo. Lo que necesito hacer es encontrar todas las rutas posibles que sigan el río durante x celdas. En este momento, he seguido tutoriales para crear un sistema de búsqueda de rutas que encuentra todos los ríos que se conectan con el punto de partida. Además, mis ríos son pequeños ruidos sordos, no líneas.

Mi código en este momento verifica todos sus vecinos y los colorea de amarillo, luego ejecuta la función nuevamente en la celda coloreada. Esto se repite hasta que se enruta la pieza de río completa. Lo que quiero que haga es encontrar todos los vecinos de la celda inicial en forma de cuadrado. Luego quiero que vuelva a encontrar todos los vecinos de los vecinos que son ríos a la manera de un cuadrado.

Básicamente, quiero que el enrutamiento encuentre todas las celdas de río en cuadrados perfectos. Entonces crea un cuadrado alrededor de la celda inicial para encontrar celdas de río. Luego crea un cuadrado alrededor para encontrar más cuadrados y así sucesivamente. También la ruta final creada debe estar conectada. Lo que expliqué tiene sentido matemático, pero es difícil de explicar.

Esto funciona. Además, .bee es básicamente .river, el tutorial que estaba siguiendo tenía bee como variable, así que seguí la corriente. y hay 2 marcas. 1 para que sea rojo cuando haga clic en la celda de inicio. Y segundo hacer que el camino encontrado sea amarillo.

Aquí está mi código ahora mismo:

 Cell.prototype.mark = function(x,y){ this.marked = true; if (this.bee) { this.floodFill(); } } var done = 0; Cell.prototype.floodFill = function() { for (var xoff = -1; xoff <= 1; xoff++) { for (var yoff = -1; yoff <= 1; yoff++) { var i = this.i + xoff; var j = this.j + yoff; if (i > -1 && i < cols && j > -1 && j < rows) { var neighbour = grid[i][j]; if (neighbour.bee && !neighbour.marked2) { neighbour.marked2 = true; neighbour.floodFill(); } } } } done++ console.log("D"+done); }
about 4 years ago · Juan Pablo Isaza
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!