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!
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 belowver 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.