问题描述
我需要一些帮助来完成我的应用程序,这有助于在纸牌游戏中做出最佳决策。
简短的游戏说明:
在游戏开始时,牌组会随机洗牌,然后玩家将5张牌(在牌组中剩下19张)拉到手上,从这一点开始,他可以:
- 放开一张卡(该卡不再在游戏中),并从洗牌后的甲板顶部取出一张卡作为其位置。 或
- 可以收起构成一张可能的点数授予组合之一的3张牌,然后将3张牌拿到手上。
当卡组末端的卡牌和玩家不再有可能的得分组合时,游戏结束。
游戏的目标是获得尽可能多的积分。
变体列表:(称为以后的组合) 三种(总共8种):
- 111-20分
- 222-30分
- 333-40分
- 444-50分
- 555-60点
- 666-70点
- 777-80分
- 888-90分
笔直(卡片可以有任何颜色,总共可以有144种颜色):
- 123-10分
- 234-20分
- 345-30分
- 456-40分
- 567-50分
- 678-60点
同花顺(卡的颜色必须相同,RRR / YYY / BBB,总共18张):
- 123-50点
- 234-60分
- 345-70点
- 456-80分
- 567-90分
- 678-100点
我在JS中创建了整个游戏逻辑,但苦于制定对我有帮助的算法:
- 哪张卡片不易拿走? -获得最高组合机会 或:
- 哪张牌不放手?-损失最少的可能组合
我真的不知道我应该采用哪种方法。还是我应该以某种方式将它们结合起来,让公式决定?目前,我正在阅读有关风险回报率的信息,这也许就是解决之道?
我必须记住,每张纸牌越少,我的组合组合就越少(从170开始),但是有时候在游戏后期阶段它的价值就在于牺牲便宜的组合以获得更高的得分。
我过去的思维方式:
- 计算将每张牌从手上移开时每种可能剩余组合的概率(即5次),并确定哪一张是最差的。
- 计算手中的5张卡中的每2张卡子集的每种可能剩余组合的概率(因此10次寻找1张卡来填充组合),并确定手中的哪张卡最差。
- 计算每种可能的剩余组合留在牌组中的概率(不计算那里的手牌)。提前3步以上
然后以某种方式将这三个加在一起以获得最佳/接近最佳解决方案?
我应该在计算中增加潜在损失吗?如何计算?如果我采用弱组合,然后在游戏的后期,由于它们是互斥的,我将无法获得更高的组合。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)