js21点条件判断算法

根据下面的表格,每张卡牌都分配了一个值。如果卡牌的值大于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"应该用空格分开。

 

想到有三种方法实现此功能,分别是采用if条件判断,数组以及switch选择语句。

 

采用if条件判断:

<script>
var count=0;
function cc(card){
   if (card<=6&&card>=2){
         count+=1;
   }
   else if (card>=7&&card<=9){
   }
   else {
count-=1;
}
return count+" "+(count>0?Bet:Hold);
   } </script>

 

采用数组的方式:

<script> 

var count=0; function cc(card){ var x={2:1,3:1,4:1,5:1,6:1,7:0,8:0,9:0,10:-1,'J':-1;'Q':-1,'K':-1;'A':-1} count+=x[card]; return count+" "+(count>0?"Bet":"Hold") } </script>



采用switch选择语句:

<script>
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;break;
    
}
return count+" "+(count>0?"Bet":"Hold");
}
</script>

通过这三种方法都可以实现需要的功能,第二种方法比较别出心裁。

 

转载于:https://www.cnblogs.com/railgun/p/10018120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值