使用电子表格通过翻牌次数对翻牌进行分类

问题描述 投票:1回答:1

我正在尝试在Google表格中编写一个对“连通性”扑克牌进行分类的功能。

输入:我们得到了“翻牌”列表(3张随机纸牌)。这些值以数值形式给出,其中2 = 2、3 = 3 ... 11 =杰克,12 =女王,13 =国王,14 = ace

我希望能够使用三种不同的指标对这些拖鞋进行分类:

1] 连通性-可能立即出现的直线数:示例1:FLOP [5 6 7]具有连通性3,因为43/84/98完成了直线。示例2:FLOP [K Q J]具有两个连通性,因为{AT,T9)完成了顺子

2)链接-可能的直线数绘制数:示例1:FLOP [K 9 2]具有链接3,因为{QJ,QT,JT}是可能的平局。示例2:FLOP [J T 4]具有链接9,因为{AK,AQ,KQ,K9,Q9,Q8,98,97,76}是平局。

3)Span-可以完成可能的平局之一的不同等级的数目。示例1:[K 9 2]的跨度为3,因为{Q,J,T}是可以完成可能的平局的等级。示例2:[J T 4]的跨度为6,因为等级{A,K,Q,9,8,7}是可以完成可能的平局抽奖的等级。


我想不出一种使用Google表格的干净方法。最初,我尝试了一些笨拙的IFS语句,但是边缘情况太多了,这太快了。

我可以很容易地用普通语言来做到这一点,但是我不知道如何用工作表来做到这一点。

google-sheets poker
1个回答
0
投票

1)连接性>>

我认为您是对的,它不太容易装入Google表格。我的想法虽然是使用这样的矩阵来设置一个滑动窗口,以查看十三张可能的卡片(2-6、3-7、4-8等)中的五张卡片的组:

enter image description here

然后,如果只有两个空白需要填补以弥补5的行程(即,在抽奖中的纸牌与每组5张连续纸牌相匹配的情况下计数为3,则必须构成一个链接。

该公式最终看起来像这样:

=ArrayFormula(countif(mmult(if((column(A1:M13)>=row(A1:M13))*(column(A1:M13)<row(A1:M13)+5)*(row(A1:M13)<=9),1,0),if(isnumber(match(sequence(13),match(A1:A3,B:B,0),0)),1,0)),3))

[A列包含所画的三张卡,B列包含其可能的数字或字母2,3,4,5,6,7,8,9,T,J,Q,K和A的列表。

enter image description here

其他后续。

© www.soinside.com 2019 - 2024. All rights reserved.