问题标签 [blackjack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
13673 浏览

java - 有没有一种优雅的方式来处理二十一点中的王牌?

我的孩子有一个家庭作业是用 Java 编写 Blackjack。我帮助了他一点,但大部分都是他自己做的,而且实际上打得很好。他甚至在计算手牌价值时发现了一个我没有看到的错误。然而,有一个他没有处理过的问题,而且我能想到的每一个解决方案都非常复杂,远远超出了他能够用他仍然初级的 Java 技能轻松编写代码的能力。

王牌。事实上,不仅仅是一张 A,还有四张 A,而且你可以在一手牌中拿到全部四张。当有一个或多个 A 时,你如何优雅地计算一手牌的价值,每个 A 的价值可能为 1 或 11。我觉得应该有一个优雅的算法,但我没有看到它。当然,部分原因可能是我累了,但也许你可以帮忙。

0 投票
4 回答
3975 浏览

c# - 有没有一种简单的方法可以在 WinForms 应用程序中显示扑克牌?

我正在编写一个快速的 BlackJack Winforms 应用程序来演示几个概念。引擎本身相当简单,但是,我想在 WinForm 上显示实际的扑克牌。

那里有一个我可以使用(最好是免费的)允许显示卡片的库。

当然,还有当年的cards.dll,但它是不受管理的。寻找托管的东西(或者至少是cards.dll的托管包装器)。

0 投票
2 回答
422 浏览

c++ - 我违反了 DRY 请帮帮我?

我正在制作二十一点模拟游戏,我想像在赌场一样处理卡片,

即所有玩家得到一张牌,庄家得到一张面朝下,玩家得到另一张牌,庄家得到一张面朝上

但看我违反了干:(如何重做??

0 投票
1 回答
1066 浏览

vb.net - VB.net 中的面向对象的 Black Jack

好的,所以我想提高我的编程和面向对象的技能。我想在 Visual Studio 2008 下的 VB.net 中编写一个完全面向对象的二十一点游戏。我做的第一件事就是学习二十一点的所有规则。

我一直在头脑风暴。(我认为)我需要的是一个 Card 类,它有一个数值及其表示形式(2、3、4、5、6、7、8、9、10、J、Q、KA)和一个符号(心、钻石等)。

我想我有一种课外的方法,可以创建一副 52 张不同的牌,以及一种处理它们并洗牌的方法。

我不确定我是否应该为扮演房子的 AI 开设一个课程。

你有什么建议?

0 投票
5 回答
6034 浏览

c# - 在二十一点中计算手牌值

我正在用 C# 实现一个小黑杰克游戏,我在计算玩家的手牌值时遇到了以下问题。根据玩家的手牌,A 的值可能为 1 或 11。如果玩家有三张牌和一张 A,那么如果牌的总和 <= 10,则 A 的值为 11,否则为 1。

现在假设我不知道玩家有多少 A,并且游戏已经实施,让庄家可以使用多于一副牌。用户的一只手甚至可能有 5、6、7、8... A。

评估玩家获得最接近 21 组合(除了其他牌)的所有 A 的最佳方法是什么(可能使用 Linq)?

我知道玩家的牌,我想计算他们的值,使用 A 来达到最接近 21 的值。

0 投票
1 回答
630 浏览

scheme - 计划作业二十一点洗牌

所以我需要做一个二十一点模拟器游戏,但似乎无法弄清楚洗牌有什么问题。它应该从牌堆中随机取出一张牌,然后将其放在牌堆的顶部。最后将其从其余部分中删除。所以 :

(ace)(2)(3)(4)(5)...(k)
如果随机牌是 5
(5)(ace)(2)(3)(4)(5)...( k)
然后它删除第二个 5
(5)(ace)(2)(3)(4)(6)...(k)

这是代码:

0 投票
4 回答
552 浏览

scheme - Scheme重新定义一个列表

我有一个名为 hand 的列表和另一个名为 deck 的列表,这里的主要目标是在我调用函数 draw 时取出列表卡组中的第一张卡(或元素)并将其放入列表手...

但每次我称之为手永远不会改变价值......我不知道有没有像O-Object这样的方法来永久改变手的内容?

我最初定义手是空的,因为玩家没有牌可以开始。

0 投票
3 回答
903 浏览

c - 在二十一点程序中处理 A 并查找段错误

这是我到目前为止所拥有的......我还没有弄清楚我将如何处理 11 / 1 的情况,当玩家选择击中/站立选项时,我得到了段错误。

帮助!!!

更新代码

0 投票
2 回答
4097 浏览

python - Python - 二十一点

如何将包含值的列表的整数元素相加?#SUM 下的错误是可以组合像整数这样的列表...

0 投票
5 回答
9793 浏览

java - 如何让方法暂停并等待 Android 输入?

基本上,我创建了一个 Blackjack 应用程序,该应用程序使用多种方法来调用并传递所需的信息(关于卡片和操作)。我在屏幕上显示了 2 个可点击的按钮(点击和站立)。现在我有一个名为 player turn... 但是,我使用无限循环执行此操作,认为它只会继续检查是否按下按钮,然后仅在按下按钮时执行操作。这不起作用,因为我的屏幕在每次 textview 或 imageview 更改后没有刷新,因此一旦我点击开始游戏,游戏就会出现“冻结”(由于方法永无止境),因此我无法点击所述按钮. 有没有办法在android中调用类似于java中的键盘监听器(暂停活动并等待用户输入)?如果不是,您建议的解决方法是什么?最后(虽然目前不重要)我将如何在每次更改后正确刷新所有内容(我相信我需要使用 invalidate.. 虽然我不确定在 invalidate 之前有什么所以它会刷新整个事情)?提前感谢一堆。