js21点条件判断算法

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

想到有三种方法实现此功能,分别是采用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>

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

猜你喜欢

转载自www.cnblogs.com/railgun/p/10018120.html
今日推荐