简单的基于终端的21点游戏

pyblackjack的Python项目详细描述


小21点

pyblackjack是一种在终端上浪费时间的有趣方式 一个电脑经销商的21点。

安装

pip install pyblackjack

开始

在终端输入blackjack启动游戏。一开始 提示时,可以按q直接跳转到操作中,使用 默认玩家名称、六层鞋和1000个起始筹码, 经销商打了软17。

您还可以根据自己的喜好通过 提示。第一个提示询问玩家的数量(人类;CPU 玩家可能会在未来出现,但现在还没有。你可以 从一个到六个玩家中选择一个,并为每个玩家输入一个名字。接下来,你 将询问每个玩家的起始筹码数,然后是 鞋内的甲板数量(最多8层)。最后一个提示将询问 如果庄家打一个软17(这会增加房子 稍微边缘)。在这之后,你就可以开始玩了!

播放

你每一手牌的第一个任务就是下注。毕竟是运动员 下注后,牌将被处理和显示。在这一点上, 如果庄家出示了一张王牌,每个玩家都会被问到 想买保险,保险费是你赌注的一半。

在这之后,或者如果庄家没有出示王牌,黑杰克将 选中的。如果庄家有21点,它会被揭露,手 立即结束,所有玩家都会输除非他们也有21点, 在这种情况下,这是一种推动。如果有人买了保险,他们会输的 他们的赌注是保险费的2:1。

如果庄家没有21点,但玩家有,则该玩家是 3点2分付款,手上不再有其他部分。

在此之后,如果仍有活跃的玩家,则依次为第一个玩家 将被展示他们的手并要求采取行动。可用操作包括 下面列出。除了击中和站立,所有动作都是可用的 作为你在做其他事情之前的第一个动作,有时只是 在某些情况下如前所述。

  • 击中(h):把另一张牌交给你的手。如果这导致 总共超过21,游戏将显示一条消息,说明你失败了,并且 轮到你了,你就输定了。

  • 站立(s):结束你的回合。

  • 双倍下注(d):双倍下注,再多出一笔(而且只有一笔) 把牌拿到手上,结束你的回合。此选项仅可用 当你的前两张牌总共是9张、10张或11张时。

  • 分开(p):把你的两张起始牌分开, 第二次下注与第一次下注相同 手。只有当两张起始卡形成一对时(例如 两个六人或两个皇后)。第二张牌会发给每个人 手,将与另一只手分开演奏。分裂之后, 两手分开时唯一可用的动作是击打或站立, 但是如果你分了一对A,你的回合就结束了 在第二张牌发给每只手(即你)之后 无法命中分割A)。

  • 投降(u):放弃并放弃,下注一半 正在返回。

一旦第一个玩家完成他们的回合,下一个玩家将 要求采取行动,等等,直到所有玩家都玩过为止。在这里 点,庄家会揭发下一张牌,然后用他们的手。这个 庄家将在16或以下打到17或以上,除非 经销商点击软17的选项已在设置中启用(或 选择了快速启动选项),经销商将执行此操作。

一旦庄家下手,庄家就付给赢家钱。如果 庄家破产,所有没有破产的玩家都得到1:1的报酬。如果 庄家没有破产,玩家总数高于庄家 以1:1的比例支付,总P相同的玩家乌什(接受他们的赌注),和 总金额较低的玩家将输掉他们的赌注。

然后,游戏将返回提示以输入赌注。在这个提示下, 任何想退出的玩家都可以输入q退出,并将被删除 从游戏中。如果游戏中最后一个玩家退出,程序将 终止。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用jstl比较jsp中的日期对象   java JSF convertDateTime渲染前一天   java当重定向回另一个servlet时,如何显示错误消息?   当ulimit已更改为unlimit时,java无法增加Wildfly的“最大打开文件数”   Java和SWT:线程和侦听器   Java文件API跨网络复制文件   java如何使用闹钟。安卓系统中的动作\解除\警报   java无法将BLOB保存到数据库(ORA01460:未实现或不需要有意义的转换)   这个for循环的java复杂性   多行上的java正则表达式   spring mvc Java多URL模式,无扩展   java 安卓 json向文本添加超链接   Java泛型和转换   JavaSpringFramework。数据存储库。反应性。反应性积存。save()在从CompletableFuture调用时不持久化数据。运行异步   java ValidationException:调用TraversableResolver。isReachable()引发了异常   java将位图设置为具有特定高度的ImageView   Java:限制字符串中的字符   如何在java中将字节[]类型转换为证书类型?   javascript使用基于java的逻辑编写TinyMCE自定义插件