我试图编辑我的"得分"函数使得如果和当一个Ace被处理时,for循环检查它是否是一个Ace并且如果总和大于21,那么如果是这样则减去10。变量" aces"跟踪ace的数量。我得到了这个"提示"使用While循环:
"最后,您可以检查分数总和是否超过21,并且A的数量是否为非零。虽然这是真的,你可以将总和减少10并将你的Aces数减少1,"使用up"你的Aces从11变为1(总分降低10)。然后,您可以继续执行此过程,直到您用完A或者您的分数低于21。"
我不太确定如何解决这个问题。有人可以帮帮我吗?感谢。
function Hand(){
var handArray =[];
handArray[0]=deal();
handArray[1]=deal();
this.getHand = function(){
return handArray;
};
this.score = function(){
var sum = 0;
var aces = 0;
for(var i =0; i < handArray.length; i++){
sum += handArray[i].getValue();
while(handArray[i].getValue()===11 && sum >21){
aces += 1;
sum -= 10;
};
};
return sum;
};
this.hitMe = function(){
var newCard = deal();
handArray.push(newCard);
};
};