扑克手发电机和评估

我确信这个话题已经被掩盖了,但是我花了好几个小时的时间来尝试解决问题,找不到解释过程的足够的资源。 请注意,我是JS的新手,仍然依靠教程和代码片段来编写代码。 我还没有足够的信心从头开始编写代码。

目标:

  1. 在JavaScript中,“抽取”5张随机卡片

  2. 在所有可能的牌中评估牌的等级

  3. 根据卡的等级,从一个variables最小/最大值返回一个分数,除非它小于一对。

  4. 最后,能够根据等级(小于,大于或正好)绘制一个随机的手。 返回等级为100或更小的牌。 (可以带回100个不同的手)

例如。 而最低 – 最高分是10-30。 如果皇家冲洗出来,返回30(最好的手意味着最好的分数)。 如果低两对(6H 6D 2C 2H 5S)出来返回13.如果高两对(AH AD QC QH 5S),返回14.等等[这些可能不准确的分数,但你得到漂移]

我的研究成果:

  1. 随机抽取 :许多应用程序已经实现了这个 到目前为止,我的最爱是本教程: http : //www.informit.com/library/content.aspx?b= STY_JavaScript_24_hours&seqNum= 229它很简单,得到的结果,但不提供一个完整的评估,只有按类别(一对,二对,三等)。 我需要一个能够给两双有更高分数的评价。

  2. 评估人员 :这有点混乱。 我find了一个非常基本的评估者,它使用javascript : http : //jsfiddle.net/subskybox/r4mSF/但它太基本了。 不给我一个完整的排名。 我也发现了这个: https : //github.com/chenosaurus/poker-evaluator ,它使用Two Plus Twoalgorithm和查找表。 现在,这听起来很不错,但我很困惑如何将其安装到我的网站,或如何使用它。 它说: 安装:npm安装扑克评估器 ,这是我以前从来没有听说过的。

  3. 转换评分为分数 :应该是相当简单的math。 也许: thisRank/maxRank*(MaxScore-MinScore)+MinScore

  4. 按等级划分:在任何地方都没有看到任何方法。 不介意看到一些例子或想法。 我不确定这个可以用Two Plus Two扑克评估器来完成。 这更像是相反的过程。

现在,感觉就像我正在接近这一切,但我不完全确定如何完全编译它。 我觉得我可以使用我在第1节中find的代码,以及Two Plus Two扑克评估器来实现我所需要的。 如果我能朝着正确的方向前进,或者如果你知道其他的方法可以达到同样的目的,我会很乐意的。

请不要告诉我,我必须先尝试自己做,因为我真的不知道如何从零开始做这个没有一点指导。

我会发表另一个初学者的build议:

  • 用伪代码写出你想要实现的algorithm(例如,容易阅读的单词)。 如果algorithm在开始编码之前不清楚,那么它本身不会变得更清晰。
    你不能写代码:没关系
    你希望编写一个程序,而不是对每一个步骤都有一个详细的低级视觉: 事实并非如此。
    至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- 
  • 其次,在github上查找代码片断是个好主意; 阅读您感兴趣的项目中的JavaScript文件,并了解他们的工作。 我想你将需要为该特定项目安装node.js,因为它用于导入查找表。 只需下载JavaScript文件,并将其包含在您的项目中…不要忘记信任/感谢作者。
  • 第三,你的问题不是一个确切的困难:这是一个关于如何开始编程的问题,当你从来没有做过的事情。 我不认为stackoverflow是正确的地方,但我仍然回答你的问题,因为毕竟,这也是一个帮助论坛。
    我最后的build议是find一本好书/教程 ; 在每本好书中都有一个示例项目,在这个示例项目中,您将开发一个完整的程序,并向您介绍基本知识。
  • PS:如果你真的感兴趣,不要放弃,因为编程可能很难,但看到工作也是非常有意义的。

    Interesting Posts