在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法。
根据下面的表格,每张卡牌都分配了一个值。如果卡牌的值大于0,那么玩家应该追加赌注。反之,追加少许赌注甚至不追加赌注。
Count Change | Cards |
---|---|
+1 | 2, 3, 4, 5, 6 |
0 | 7, 8, 9 |
-1 | 10, ‘J’, ‘Q’, ‘K’,‘A’ |
你需要写一个函数,实现21点算法,它根据参数 card的值来递增或递减变量count,函数返回一个由当前count和 “Bet”(count>0)或"Hold"(count<=0) 拼接的字符串。注意count和"Bet" 或 "Hold"应该用空格分开。
例如:
"-3 Hold"
"5 Bet"
提示
既然card的值为7、8、9时,count值不变,那我们就可以忽略这种情况。
结果检验:
卡牌序列 2, 3, 4, 5, 6 应该返回 “5 Bet”
卡牌序列 7, 8, 9 应该返回 “0 Hold”
卡牌序列 10, J, Q, K, A 应该返回 “-5 Hold”
卡牌序列 3, 7, Q, 8, A 应该返回 “-1 Hold”
卡牌序列 2, J, 9, 2, 7 应该返回 “1 Bet”
卡牌序列 3, 2, A, 10, K 应该返回 “-1 Hold”
代码
var count = 0;
function cc(card) {
// Only change code below this line
switch (card) {
case 2:
case 3:
case 4:
case 5:
case 6:
count++;
break;
case 10:
case 'J':
case 'Q':
case 'K':
case 'A':
count--;
break;
default:break;
// code
}
if (count > 0 ) {
return count+" "+"Bet";
} else {
return count+" "+"Hold"
}
return count+" ";
// Only change code above this line
}
// Add/remove calls to test your function.
// 提示: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');