Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
¿Cómo puedo filtrar a una matriz y elegir una identificación aleatoria de ella?

Buenas noches amigos.

Soy nuevo en la programación, menos de 2 meses, por lo que no entiendo muy bien cómo hacer que esto funcione. Esto es exactamente lo que quiero hacer: tengo este juego que estoy tratando de hacer que necesita hacer una rifa entre las unidades existentes que cumplan con la condición "está vivo" y tienen "puede usar el premio". Para hacer eso, me dijeron que necesitaba incluir una matriz con la identificación de la unidad para las unidades que pueden recibirlo, luego filtrarlas por "está viva" para elegir mediante un generador aleatorio. La cosa es que no tengo ni idea de cómo hacer que esto funcione. He probado este código, pero no funciona. ¿Alguien tiene alguna idea de por qué o cómo debería hacerlo en su lugar?

 var rafflearray = []; // the array containing the units if (root.getExternalData().isUnitRegistered() = true) {var character = root.getCurrentSession().getPlayerList().getData()}; // establish the character as a variable if (var character.getAliveStatus = true ) {rafflearray.push(character)}; // checks his alive status and send him to the array var chosen = rafflearray [Math.random()*chosenarray.lenght]; // to choose amongst them chosen.addItem()

¡Gracias de antemano por la atención!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Recomiendo encarecidamente revisar los Fundamentos de Javascript ( aquí las secciones 1 y 2 ) antes de este proyecto. Sin embargo, espero que esta respuesta te ayude.

En primer lugar, no puede usar var dentro de declaraciones como if

 if(var character.getAliveStatus = true)

Y necesita usar == o === en lugar de = , como:

 if(isAlive === true){ // Code to be executed } // the difference between '==' and '===' can be found in the docs mentioned below

ver Operadores de Javascript desde aquí en la sección 3

var es para declarar una variable que no está limitada a sus bloques principales, consulte el alcance de javascript

En su caso, no estoy seguro de si ya tiene una variedad de jugadores o si está tratando de crear uno.

En la primera situación, le sugiero que use la función Array.filter() , que es una forma genial. Por ejemplo :

 // Assuming 'players' is the array of players in the game // filtering out raffle worthy players let raffle_worthy = players.filter(player => player.getAliveStatus === true); // Randomly choosing 1 person between the raffle worthy players let chosen = raffle_worthy[Math.floor(Math.random * raffle_worthy.length)]

Es posible que desee echar un vistazo a los documentos de Array.filter() y también se ha utilizado Js Math en el ejemplo anterior

Por otro lado, si no tienes una variedad de jugadores y los obtienes uno por uno, no estoy muy seguro de poder entender la forma en que obtienes usuarios y qué los reúne.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda