21点算法


21点规则,策略及算法参考 21点算法


21点规则
  1. 游戏由玩家和庄家(即赌场的发牌员)对玩,看谁的牌面点数更靠近21点。但如果超过了21点,则称为“爆掉”,算输。其中花牌(J,Q,K)都算10点,A可以算1点,也可以算11点,看哪种情况更有利。玩家之间不做比较。

  2. 游戏开始时,所有玩家和庄家各拿两张牌,一般来说,是玩家两张牌牌面朝上,庄家一张牌面朝上,一张牌面朝下。

  3. 两张牌的点数,肯定介于2到21点之间。21点只可能是一张10(包括J,Q,K,下同)和一张A,这叫“天成(BlackJack,以下简称BJ)”,除非庄家也拿到了BJ,不然赢一倍半的赌注。

  4. 玩家在游戏中有如下选择:
    (1)要牌,直到他(或她,下同)认为自己的牌面离21点足够近了。比如手头的牌是4和5,加起来才9点,那么无论再加张什么牌,都不会爆掉,当然应该要牌。
    (2)停牌,即不再要牌,比如手头是张10和9,已经很接近21点了,就不用再要牌了。
    (3)加倍,即加一倍赌注,再要且仅要一张牌。比如手头是张4和7,这时要牌是肯定安全的,而且很可能拿到10或者其他点数较大的牌,一张就够了,值得加倍。这只能在刚拿到两张牌时使用,要过牌后就不能加倍。
    (4)分牌,即拿到两张点数相同的牌时,可以加一份赌注,把牌分为两份,比如手头是两张8,加起来是16,非常糟糕的点数,这时就应该把牌分为两个8,再要两张牌来,很可能拿到10形成18点,就把坏牌变成好牌了。
    (5) 保险,即在庄家亮着的牌是A时,由于他拿到BJ的几率很大,玩家可以下赌注一半的保险。如果庄家没有拿到BJ,保险金就输掉了,如果庄家拿到了BJ,付给 玩家两倍保险金。很多玩家在自己拿到BJ的情况下,会下赌注一半的保险,以保证自己能赢回一倍赌注,因为如果庄家没有BJ,那他能赢赌注的一倍半,去掉输 掉的半倍保险,还赢一倍赌注;如果庄家有BJ,那他们牌面打平,但保险能赚回一倍赌注。
    (6)投降,这时只输一半赌注。如果自己的牌是10和6,庄家亮着的牌是A,那还是趁早投降好。

  5. 庄家在手头的牌是A时,会问大家是否要保险,然后检查自己的牌是否BJ。如果手头的牌是10,也会检查是否BJ,但这时玩家就不能买保险了。

  6. 如果玩家要牌爆掉,算输,庄家当场收掉他的赌注。

  7. 当所有的玩家都做出选择后,庄家的玩法是固定的:亮出底牌,如果点数不到17点,则必须要牌,直到超过了16点或爆掉为止。

  8. 如果双方都还没有爆掉,则更接近21点的那个胜,如果双方点数相同,则算打平。

21点策略

规则为:庄家在软17点时停止、无限分牌加倍、允许投降。

为了方便分析,我们先假设52张牌出现的概率始终相同,也就是说每张牌都是从一个无穷多副牌组成的牌盒里抽出来的,或者说前面出过的牌不影响后面的牌,换句话说,每张牌相互之间都是独立的。

在上述规则下,基本策略为:

以下点数都是所谓“硬点数”,即不包括A或A算1点,以后如果不特别指明,各点都指“硬点数”。
庄家:2 3 4 5 6 7 8 9 10 A
玩家点数:
<=8 H H H H H H H H H H
9 H D D D D H H H H H
10 D D D D D D D D H H
11 D D D D D D D D D H
12 H H S S S H H H H H
13 S S S S S H H H H H
14 S S S S S H H H H H
15 S S S S S H H H R H
16 S S S S S H H R R R
>=17 S S S S S S S S S S
其中H表示“要牌(Hit)”,S表示“停牌(Stand)”,D表示“加倍(Double down)”,R表示“投降(suRrender)”。

手中有A,而且A算11也不会爆掉,就是所谓“软点数”,应该运用下面这个表格:
庄家:2 3 4 5 6 7 8 9 10 A
玩家
13 H H H D D H H H H H
14 H H H D D H H H H H
15 H H D D D H H H H H
16 H H D D D H H H H H
17 H D D D D H H H H H
18 S DS DS DS DS S S H H H
>=19 S S S S S S S S S S
“D”和“DS”都表示加倍,在不可以加倍的情况下,“D”表示要牌,“DS”表示停牌。

最后是分牌策略:
庄家:2 3 4 5 6 7 8 9 10 A
玩家
A,A P P P P P P P P P P
2,2 H H P P P P H H H H
3,3 H H P P P P H H H H
4,4 H H H P P H H H H H
5,5 D D D D D D D D H H
6,6 H P P P P H H H H H
7,7 P P P P P P H H H H
8,8 P P P P P P P P P P
9,9 P P P P P S P P S S
10,10 S S S S S S S S S S

其中P表示“分牌(sPlit)”。

二十一点算牌法

二十一点能够算牌,是因为我们在讨论“基本策略”时提出的一个假设不成立:

假设52张牌出现的概率始终相同,也就是说每张牌都是从一个无穷多副牌组成的牌盒里抽出来的,或者说前面出过的牌不影响后面的牌,换句话说,每张牌相互之间都是独立的。
显然,不可能有这样的由无穷多副牌组成的牌盒,前面出过的牌总会影响后面的牌。在算牌法刚出现的时代,赌场仍然使用 一副牌来玩二十一点,那么这个影响就更明显。比如,发牌员发出牌来,你拿到两个10(包括J、Q、K),庄家亮牌也是10,翻出底牌来还是10,那么下一 轮里10出现的概率已不再是4/13,而是12/48,即1/4,略低于4/13。同样的,其他点数出现的概率也已不再是1/13,而是1/12。

使用一种叫“高低法(High-Low)”的算牌法。在游戏过程中,我们把每一张出现的2,3,4,5,6都 算+1点,7,8,9算0点,10,J,Q,K,A算-1点,将各点相加,结果越大,就表示前面出现过的小牌越多,对玩家越有利。反过来,如果结果是个负 数,就表示前面出过的大牌比小牌多,对庄家有利。

比如前面出现的牌是:

4,9,10,5,J,A,8,10,Q,2,6,K,J,7

那么点数就是4张小牌减7张大牌,是-3。当然,在游戏过程中,你不可能叫庄家把牌局暂停,让你从容加减。你必须在每张牌出来时,就在心里默算点数。比如在上面的例子里,从第一张牌出现开始,你就应该在心里默算出:

1,1,0,1,0,-1,0,-2,-3,-2,-1,-2,-3,-3

算法实现
function cc(card) {
  for(var i=0;i<card.length;i++){
    if(card[i]>=2&&card[i]<=6){
      count++;
      //return count;
    }else if(card[i]==10||card[i]=='J'||card[i]=='Q'||card[i]=='K'||card[i]=='A'){
      count--;
      //return count;
    }
  }
  if(count>0){
    return count+" Bet";
  }else{
    return count+" Hold";
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法。根据下...
    300d阅读 1,948评论 1 1
  • 你的数学直觉怎么样?你能凭借直觉,迅速地判断出谁的概率大,谁的概率小吗?下面就是 26 个这样的问题。如果你感兴趣...
    cnnjzc阅读 6,829评论 0 12
  • 一年级语文上册生字表 生字表一(共400字) 啊(ā)爱(ài)安(ān)岸(àn)爸(bà)八(bā)巴(bā)...
    meychang阅读 2,755评论 0 6
  • 背景 想做个游戏和大家一起玩。曾经在邮轮上玩过德州扑克,Blackjack 21点,都非常好玩。21点比较简单,...
    dasan沈扬阅读 1,486评论 0 0
  • 初冬,过完年假,远在市中心的表姐,打电话给我,让我去她家小住几日,说到表姐,小姨就只生了一个女儿,从小小姨全家人就...
    阿柒aqi阅读 921评论 1 1