私はプログラミングとjavascriptを使い慣れておらず、インデックスを通じて私の配列の値を変更する際に問題があります。コードの残りの部分は正常に動作しますが、別の配列ではうまくいきますが、インデックスを使って自分の顔にアクセスできないようです。配列の値を変更できません
f1 = 0;
f2 = 0;
f3 = 0;
f4 = 0;
f5 = 0;
f6 = 0;
faces = [f1, f2, f3, f4, f5, f6];
//loop through a single throw with 5 dies
for(var i = 0; i < dice.length; i++){
var die = Math.floor(Math.random() * 6) + 1;
//if hold is true skip the corresponding iteration
if(hold1 == true && i===0){
alert("holding: " + held[0]);//shows the value of the die that's being held
for(var i = 0; i < 6; i++){
faces[i] = 5;//doesn't add anything
faces[2] = 5; //nor does this
faces[1]++; //or this
f1 = 3; //this works however
}
alert("faces are: " + f1 + ", " + f2 + ", " + f3 + ", " + f4 + ", " + f5 + ", " + f6);
continue;
}
//rest of code
警告は値が変化し、インデックスのみの変数に代入すると、直接動作するようですので、それが3、0、0、0、0、0を返すかどうかを確認することです。
:この質問を参照してください? –
あなたの内側のループは、外側のループと同じ "i"変数を使うべきではありません。変数名を変更します。また、内部の状態、あなたはそれが正しいと確信していますか? 'hold1 == true && i == 0'は間違っているようです。 –