扑克手发电机和评估
我确信这个话题已经被掩盖了,但是我花了好几个小时的时间来尝试解决问题,找不到解释过程的足够的资源。 请注意,我是JS的新手,仍然依靠教程和代码片段来编写代码。 我还没有足够的信心从头开始编写代码。
目标:
-
在JavaScript中,“抽取”5张随机卡片
-
在所有可能的牌中评估牌的等级
-
根据卡的等级,从一个variables最小/最大值返回一个分数,除非它小于一对。
-
最后,能够根据等级(小于,大于或正好)绘制一个随机的手。 返回等级为100或更小的牌。 (可以带回100个不同的手)
例如。 而最低 – 最高分是10-30。 如果皇家冲洗出来,返回30(最好的手意味着最好的分数)。 如果低两对(6H 6D 2C 2H 5S)出来返回13.如果高两对(AH AD QC QH 5S),返回14.等等[这些可能不准确的分数,但你得到漂移]
我的研究成果:
-
随机抽取 :许多应用程序已经实现了这个 到目前为止,我的最爱是本教程: http : //www.informit.com/library/content.aspx?b= STY_JavaScript_24_hours&seqNum= 229它很简单,得到的结果,但不提供一个完整的评估,只有按类别(一对,二对,三等)。 我需要一个能够给两双有更高分数的评价。
-
评估人员 :这有点混乱。 我find了一个非常基本的评估者,它使用
javascript
: http : //jsfiddle.net/subskybox/r4mSF/但它太基本了。 不给我一个完整的排名。 我也发现了这个: https : //github.com/chenosaurus/poker-evaluator ,它使用Two Plus Twoalgorithm和查找表。 现在,这听起来很不错,但我很困惑如何将其安装到我的网站,或如何使用它。 它说: 安装:npm安装扑克评估器 ,这是我以前从来没有听说过的。 -
转换评分为分数 :应该是相当简单的math。 也许:
thisRank/maxRank*(MaxScore-MinScore)+MinScore
-
按等级划分:在任何地方都没有看到任何方法。 不介意看到一些例子或想法。 我不确定这个可以用Two Plus Two扑克评估器来完成。 这更像是相反的过程。
现在,感觉就像我正在接近这一切,但我不完全确定如何完全编译它。 我觉得我可以使用我在第1节中find的代码,以及Two Plus Two扑克评估器来实现我所需要的。 如果我能朝着正确的方向前进,或者如果你知道其他的方法可以达到同样的目的,我会很乐意的。
请不要告诉我,我必须先尝试自己做,因为我真的不知道如何从零开始做这个没有一点指导。
我会发表另一个初学者的build议:
你不能写代码:没关系 ,
你希望编写一个程序,而不是对每一个步骤都有一个详细的低级视觉: 事实并非如此。
至less我是这样看事物的。
我将为这种情况编写的伪代码示例:
1- create card deck loop on number of cards to be drawn -generate random integer and remove corresponding card from card deck -add drawn card to hand end loop 2- check if hand is highest figure and associate rating else check if hand is 2nd highest and associate rating else... OR get data with all possible hands and search for this hand to retrieve score... (see github repo) 3- I did not get 3- 4- If you have data with all hands and their value, you just have to search this data by value instead of searching by hand like in 2-
我最后的build议是find一本好书/教程 ; 在每本好书中都有一个示例项目,在这个示例项目中,您将开发一个完整的程序,并向您介绍基本知识。
PS:如果你真的感兴趣,不要放弃,因为编程可能很难,但看到工作也是非常有意义的。