设为首页 加入收藏

TOP

扑克玩法:9点半--数据分析(一)
2023-07-25 21:27:09 】 浏览:62
Tags:9点半

扑克玩法:9点半--数据分析
一、前言
又是新的一年,在这里先给各位读者大大们拜个晚年。祝大家新年快乐,万事如意,阖家欢乐。
过年拜年是中国的传统习俗,在春节期间人们会互相拜访并送上祝福。拜年不仅是一项重要的社交活动,也是一次难忘的旅程。它让我们感受到了团圆与温暖,同时也增强了彼此之间的联系。
小编每年大年初一都会去祖母那儿拜年,一起去的还有我的叔叔、堂兄弟们。我们一般上午到,互相拜个年,寒暄一阵,拉拉家常。由于去的人比较多,一般会待到下午4,5点钟。闲来无事,大伙便会找些事情打发下时间,由于扑克牌几乎家家常备,而且玩法多样也简单,于是大年初一打牌就成了我们一个保留节目。
我们玩的最多的一种玩法是9点半,这是一种我们家乡的玩法,至于是不是特有的就不得而知了。玩的也不大,主要是娱乐,这种玩法人越多,越有意思,越刺激。气氛也就越活跃。
我虽然也是从小玩到大,前些年还经常赢,不过最近几年老是输,已经当了好几年的“输记”了。今年正好有空,于是想通过Python来分析一下9点半这种玩法点数情况。
首先介绍一下这种玩法。如果只想看代码的,请跳过下面的规则介绍。
温馨提示:未成年人禁止赌bo。
1.1 9点半玩法规则
简单的介绍一下这种玩法的规则。
1.1.1 流程
将一副扑克牌中的大小王去除,剩下52张牌。洗牌并切牌并放好。
回合开始,如果桌面上没有筹码了,则每人将商量好的一定数额的筹码放置在桌上。作为启动筹码。
所有玩家按照顺序进行抓牌(每次抓一张),当每人抓完2张牌后计算各自计算自己的点数(点数计算规则见下方)。
所有玩家按照抓牌的顺序依次发声,此时发声人员可以根据自己手牌的点数和位置决定自己要不要桌上的筹码,如果自认为自己的手牌是这一回合中最大的,则可以大喊一声:我要了,并将自己的手牌盖到桌上的筹码上(切不可展示手牌)。表明自己要了所有的筹码。完成叫牌。如果点数不大,没有希望赢的话,则可以说:不要。跳过自己的回合。所以这个玩法又叫“要不要”。
后续有未发声的人员,如果自认为手牌比之前叫牌的玩家还要大,则可以说一声:连了或讨了,之前叫牌玩家则必须将筹码放到桌面上,筹码的数量等于桌面上的筹码数量。连了的玩家也要上桌面上等额的筹码。后续还有未发声的玩家或已发声但是叫牌了的玩家也是同样操作。而那些跳过自己回合的玩家则不能参与。
一直持续上一步,直到没有玩家连了为止。
回合结算,所有玩家都摊开手牌,直接对比点数,如果最后一个连了的玩家的手牌最大,那么他将赢者通吃,将桌面上所有的筹码全部拿走。如果点数不是最大,那么该玩家则不进行任何操作。这回合中点数最大的参与叫牌的玩家,将拿走他之前上的筹码的2倍。桌上剩下的筹码作为下一回合开始后的启动筹码。
第4步时,如果其它玩家都不要,那么就都摊开手牌,对比点数。如果叫牌玩家的点数是这一回合中最大的,则叫牌玩家可以拿走桌上的全部筹码。否则,这一回合中谁的点数最大,谁就在下一回合先抓牌。
回合结束,下一回合开始
1.1.2 计算手牌大小
每回合中,每人摸2张牌,将摸到的牌进行相加计算点数,看谁的点数大。
在算点数时,J、Q、K算半点,A算1点,其它扑克牌按照自身的点数计算。
如果两张牌的点数加在一起,超过10点的要减去10点。
特别地,如果是10点,则被称为“闭十”,也就是0点,是最小的点数。所以我们这边”闭十”也有一种骂人很菜、很差劲的意思。
如果两张牌一样,则称为对子,并且如果颜色也一样(比如都是黑色),则称为“健对子”(真对子),否则称为“万对子”(假对子)。
手牌大小比较:真对子 > 假对子 > 点数
特殊的:如果都是一样大小的真对子,则根据当时是白天还是晚上来区分大小,即:白天时,红色的真对子 > 黑色的真对子,晚上时,黑色的真对子 > 红色的真对子。这个规则也被称为“日红夜黑”。
所以一般情况下,在没有玩家摸到对子的时候,本回合中最大的点数就是9点半了,这也是这个玩法名字的由来。
1.1.3 其它
如果有2位玩家的手牌都很大,那么经过几次的叫牌,桌上的筹码很快会多起来。筹码一多,所有的玩家就都会兴奋起来。叫牌的想赢筹码,没叫牌的也有机会,希望叫牌的人能相互杠上,只要不是最后一个叫牌的人最大,那么桌上总有一半的筹码会留到下一回合。
如果参与的玩家比较多,那么前面叫牌的玩家很容易被后面的玩家杠上,点数不小于叫牌的玩家,但是因为有人叫牌,自己又不敢乱动。于是,桌上更容易因为杠上导致筹码越来越多。
有的玩家在叫牌时会很大声,上筹码时比较用力,以表明自己这一回合志在必得,不管牌大牌小,气势上不能输。但是这种情况也有可能是在虚张声势,让后面的玩家不敢轻举妄动。有的玩家在叫牌时小心翼翼,动作也比较轻,反而有可能手握大牌,所以在玩这个9点半时一定要考虑每个玩家的性格。不要被忽悠了,导致大牌不敢要。
二、代码

# Encoding: utf-8  
# Author: 思必得  
# Date: 2023-01-24 10:02  
# Project name: FrbPythonFiles  
# IDE: PyCharm  
# File name: main  
# 模块说明:  
"""  
"""  
# 模块导入  
from paPath.mdTxt import csNovel  
from mdTools import ftDecTimeIt  
from threading import Thread  
from tqdm import trange  
import random  
import pickle  
import os  
# 更新日志:  
"""  
1、2023-01-24:  
    a、创建文件  
"""  
# 待修改:  
"""  
"""  
novel = csNovel()  


class csHalfPastNine:  
    def __init__(self, pmPersons=5, pmTimes=3):  
        self.abCards = []  
        self.abPersons = pmPersons  
        self.abTimes = pmTimes  
        self.abResult = []  

    def _CreatCards(self):  
        self.abCards = [f'{x}{y}' for x in tuple('234567890JQKA') for y in tuple('rb')] * 2  
        return self.abCards  

    def _ShuffleCards(self):  
        random.shuffle(self.abCards)  
        return self.abCards  

    def _thTakeCards(self):  
        self._CreatCards()  
        Cards = self._ShuffleCards()  
        while len(Cards) >= self.abPersons * 2:  
            group = [(Cards[_], Cards[_ + self.abPersons]) for _ in range(self.abPersons)]  
            self.abResult.append(group)  
            Cards = Cards[self.abPersons * 2:]  

    def _TakeCards(self):  
        threads = []  
        for _ in trang
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇记录一次python爬虫模拟登录吧 下一篇Python 内置界面开发框架 Tkinter..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目