будет лучше использовать объект для него, а не делать какие-то хитрости
var player_one = {
addResource: function(num,color){
player_one[color] += num
document.getElementById(color).innerHTML = (player_one[color]);
},
red: 0,
green: 0,
blue: 0
}
// console.log(document.getElementById('green'))
<div class="contain">
<h3 id="red">0</h3>
<h3 id="green">0</h3>
<h3 id="blue">0</h3>
<button onClick="player_one.addResource(4,'green')">Add Green</button>
<button onClick="player_one.addResource(3,'red')">Add Red</button>
<button onClick="player_one.addResource(7,'blue')">Add Blue</button>
</div>
то, что вам не хватало, вызывало функцию со строковыми аргументами .. как в func(3, 'red')
, а не func(3, red)
и в javascriptplayer_one[color]
, а не player_one.color