[Java Script] Arrays Multidimensionales

Iniciado por Brian1511, 28 Julio 2015, 03:45 AM

0 Miembros y 1 Visitante están viendo este tema.

Brian1511

Hola que tal, bueno anteriormente al parecer habia puesto un post en este foro que no iba, pero es que en este es el unico que me ayudan.

Tengo esta array:

Código (javascript) [Seleccionar]

var AttackType = {
Water : {
name: "Water",
bubble: ["Burbujas",0],
waterfall: ["Fuente de Agua",1],
clamp: ["Clamp",2],
hydropump: ["Hidro Ataque",3],
crabhammer: ["Pinzas",4],
watergun: ["Pistola de Agua",5]
bubblebeam: ["Burbuja Explosiva",6]
}
}


Se que epara llamar uno solo introdusco:

AttackType.Water.name //Va a ser igual a Water.
Pero como uso un Random para obtener cualquiera de estos datos de esta forma:
Código (javascript) [Seleccionar]

    var Random = Math.floor((Math.random() * AttackType.Water.length) + 1)
Pokemon_Attacks[IDPOKEMON][ATTACKSLOT][0]=AttackType.Water[Random].name;
Pokemon_Attacks[IDPOKEMON][ATTACKSLOT][1]=AttackType.Water[Random].id;


Y quiero obtener los valores que tiene cada ataque generado aleatorio, ejemplo:

Rnd = 4
Entonces de la lista Attack.Type.Water me tiene que dar el "NOMBRE", ID
en unas variables llamadas
Código (javascript) [Seleccionar]

Pokemon_Attacks=[
[
[Ataques del Pokemon1],
[Ataques del Pokemon2],
[Ataques del Pokemon3],
[Ataques del Pokemon4],
[Ataques del Pokemon5],
[Ataques del Pokemon6]
]];


Esto lo tengo controlado pero quiero hacer que se agregue un ataque aleatorio como ya les comente!



Creador de BrainMind

engel lex

las clases no están hechas para ser elegidas al azar... para eso está el array D: pero aquí un workaround

(te faltó una coma en linea 9)

Código (javascript) [Seleccionar]
var conteo = 0;
var azar = 0;
var ataque;
for(ataque in AttackType.Water) conteo++;
var azar = parseInt(Math.random() * conteo);
for(ataque in AttackType.Water){
 if(azar--==0)break;
}
alert(ataque)


no se si quieres eliminar el primero (name:"Water"), pero si es así azar es 1+Math.random() * (conteo-1)

espero que sirva
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.