Code:

var lootedItem;
var loot = {
"silver": 3,
"bronze": 3,
"copper": 3,
"platinum": 1,
"iron": 5,
"stone": 5
};
var playerLoot = {
"silver": 0,
"bronze": 0,
"copper": 0,
"platinum": 0,
"iron": 0,
"stone": 0
};

Code:

function mining() {
//gold++;
for(var v=0; v <loot.length; v++){
lootedItem = loot[Math.floor(Math.random() * loot.length)];
playerLoot[v]+= lootedItem[v];
}
console.log(lootedItem); //**RETURNS 0 every time**
console.log(playerLoot); //returns the players array of 0's
}

The array "loot[]" is supposed to be a loot table with a corresponding value. When the function mining() is called, it should randomly return 1 of the values from the array, with the corresponding value.

So the first time it's called, maybe it randomly gives iron, it should give 5 iron to the player's iron variable.

So if it randomly gives you the loot[5] entry as loot, it should increment the corresponding playerLoot[5].

Anyone point me in the right direction? Been glued to the array documentation but not able to get it working....

For right now if I could just get it to return a random entry I can figure out how to assign it to the corresponding entry in the other array...Any ideas how to get it to work right?

Code:

lootedItem = loot[Math.floor(Math.random() * loot.length)];

returns 0 every time, I tried various combinations adding
Code:

lootedItem[v]= loot[Math.floor(Math.random() * loot.length)][0];

and
Code:

lootedItem[v][0]= loot[Math.floor(Math.random() * loot.length)][0];
lootedItem[0][0]= loot[Math.floor(Math.random() * loot.length)][0]; //etc various combinations...

thinking that would return the first value from the random entry but it doesnt work either.

## Bookmarks