Counting Cards 函数实现21点算法

在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法

根据下面的表格,每张卡牌都分配了一个值。如果卡牌的值大于0,那么玩家应该追加赌注。反之,追加少许赌注甚至不追加赌注。

Count ChangeCards
+12, 3, 4, 5, 6
07, 8, 9
-110, '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) {
  
  switch(card){
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      count+=1;//遇上上面几张卡牌递增
      break;
    case 10:
    case 'J':
    case 'Q':
    case 'K':
    case 'A':
     count -=1;//遇上上面几张卡牌递减
      break;
    default:
      count+=0;//遇上其他卡牌保持不变
   
  }
  //根据count结果进行判断
  if (count>0){  
     return count +" Bet";
  }else if(count<=0){
    return count +" Hold";
  }
 
}

// 你可以在这里添加/删除 cc 方法的调用来测试结果
// 提示: 左边只会显示最后一次执行的返回值
cc(2);cc(3);cc(4);cc(5);cc(6); 
结果如下:




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值