我正在尝试在javascript中编写卡片计数功能。根据下表为每张卡分配一个值。当计数为正数时,玩家应该下注。当计数为零或负数时,玩家应该下注。
(i)如果牌是2,3,4,5,6,则计数变化=(+ 1);
(ii)如果牌是7,8,9,则计数变化= 0;
(iii)如果牌是10,'J','Q','K','A',那么计数变化=(-1);
这是我的功能:
var count = 0;
function cc(card) {
{
case 2:
case 3:
case 4:
case 5:
case 6:
return count++;
case 7:
case 8:
case 9:
return count;
case 10:
case 'J':
case 'Q':
case 'K':
case 'A':
return count--;
}
}
cc(2); cc(3); cc(7); cc('K'); cc('A');
从代码的最后一行开始,我期待得到一个'0',但它给了我一个'1'。任何人都可以为此启发我吗?
答案 0 :(得分:2)
请注意,表达式count ++(或count--)在更新之前返回计数器(并将其更新为副作用)。 如果要在更新后返回计数器,则应在计数器前使用++(或 - )。 例如,如果计数为1 -
答案 1 :(得分:0)
var count = 0;
function cc(card) {
if (card >= 2 && card <= 6) {
count += 1
}
else if (card >= 7 && card <= 9) {
count += 0
} else {
count -= 1
}
return count <= 0 ? `${count} Hold` : `${count} Bet`;
}