私は、Javascriptでブラックジャックゲームを構築するためのCodecademyのレッスンを行っています。Forループでコンストラクタの関数を使用
for-loopに入れるコードがうまくいきません。私は、ハンドコンストラクタに "score"メソッドを書くはずです。これは、ハンド内のすべてのカードをループし、それぞれに「getValue」コールの結果を合計し、その合計を返します。
誰かが私を助けてくれますか?ありがとうございました。ここで
は私の試み、関連するコードです下部のforループの内部にある。このようなものが動作するはず
// Card Constructor
function Card(s, n) {
var suit = s;
var number = n;
this.getSuit = function() {
return suit;
};
this.getNumber = function() {
return number;
};
this.getValue = function() {
if (number >= 10) {
return 10;
} else if (number === 1) {
return 11;
} else {
return number;
}
};
};
//deal function
var deal = function() {
var randNum = Math.floor(Math.random() * 13) + 1;
var randSuit = Math.floor(Math.random() * 4) + 1;
console.log(randNum, randSuit);
return new Card(randSuit, randNum);
};
function Hand() {
var handArray = [];
handArray[0] = deal();
handArray[1] = deal();
this.getHand = function() {
return handArray;
};
this.score = function() {
var sum;
for (var i = 0; i < handArray; i++) {
sum += handArray[i].getValue;
return sum;
}
};
};
1)ループから 'return sum'文を移動します。 2) 'sum + = handArray [i] .getValue()'行を編集するには、関数呼び出しでなければなりません。 – raina77ow