1 <!DOCTYPE html>
  2 <html>
  3  <head>
  4   <title>如何计算扑克牌中的顺子、对子、半顺、豹子、杂六</title>
  5   <meta charset="utf-8"/>
  6   </head>
  7  <body>
  8          号码1:<input type="number" value="5" id="num1"/><br />
  9          号码2:<input type="number" value="6" id="num2"/><br />
 10          号码3:<input type="number" value="1" id="num3"/><br />
 11          <button οnclick="calc()">计算</button><span style="color:red;margin-left:50px;">计算结果:<b id="result" style="color:blue"></b></span>
 12    <script>
 13
 14      /**
 15       * 计算
 16       */
 17      function calc(){
 18         var numberArray = new Array(3);
 19         for(var i = 0;i < 3;i++){
 20            numberArray[i] = document.getElementById("num"+(i+1)).value;
 21         }
 22         var resultArray = calcGamePlayResult(numberArray);
 23         var value = '';
 24         if(resultArray[0] == 1){
 25            value = "对子";
 26         }else if(resultArray[0] == 2){
 27             value = "豹子";
 28         }else if(resultArray[1] == 1){
 29             value = "半顺";
 30         }else if(resultArray[1] == 2){
 31             value = "顺子";
 32         }else{
 33             value = "杂六";
 34         }
 35         document.getElementById("result").innerHTML=value;
 36      }
 37
 38      /**
 39       * 计算顺子、对子、半顺、豹子、杂六
 40       *
 41       * @arguments array 数组
 42       *
 43       * @returns 数组下标0 对应豹子、对子   数组下标1 对应顺子、半顺、杂六
 44       */
 45      function calcGamePlayResult(array){
 46         array = Arrays.toNumArray(array);
 47         array = Arrays.sortAsc(array);
 48         //存储计算结果
 49         var resultArray = new Array(2);
 50
 51         //计算豹子、对子
 52         resultArray[0] = array[2] - array[1] == 0 ? 1 : 0;
 53         resultArray[0] = array[1] - array[0] == 0 ? ++resultArray[0] : resultArray[0];
 54
 55         //计算顺子、半顺、杂六
 56         resultArray[1] = array[2] - array[1] == 1 ? 1 : 0;
 57         resultArray[1] = array[1] - array[0] == 1 ? ++resultArray[1] :  resultArray[1];
 58
 59         return resultArray;
 60      }
 61
 62     /**
 63      * 数组操作类
 64      */
 65     function Arrays(){
 66
 67     }
 68
 69     /**
 70       * 对整型数组进行升序排序
 71       *
 72       * @arguments array 整型数组
 73       *
 74       * @returns 排序后的数组
 75       */
 76      Arrays.sortAsc = function (array){
 77          for(var i  = 0;i < array.length;i++){
 78            for(var x = i;x < array.length;x++){
 79               if(array[i] > array[x]){
 80                  var temp = array[x];
 81                  array[x] = array[i];
 82                  array[i] = temp;
 83               }
 84            }
 85          }
 86         return array;
 87      }
 88
 89      /**
 90       * 将字符串数组转换为整型数组
 91       *
 92       * @arguments strArray 字符串数组
 93       *
 94       * @returns 整型数组
 95       */
 96      Arrays.toNumArray = function (strArray){
 97         var numArray = new Array(strArray.length);
 98         for(var i = 0;i < strArray.length;i++){
 99             numArray[i] = Number(strArray[i]);
100         }
101         return numArray;
102      }
103    </script>
104  </body>
105 </html>

转载于:https://www.cnblogs.com/-1234/p/4749185.html

如何在JS中计算扑克牌中的顺子、对子、半顺、豹子、杂六相关推荐

  1. excel中计算表格中公式_在Excel中计算年度成本和节省

    excel中计算表格中公式 This workbook shows how to calculate annual costs and savings in Excel. It's amazing h ...

  2. iOS7中计算UILabel中字符串的高度

    iOS7中计算UILabel中字符串的高度 iOS7中出现了新的方法计算UILabel中根据给定的Font以及str计算UILabel的frameSize的方法.本人提供category如下: UIL ...

  3. oracle 偶数与奇数,在PL / SQL中计算数字中的奇数和偶数

    我们给定一个正整数数字,任务是使用PL / SQL计算数字中奇数和偶数的计数. PL / SQL是SQL与编程语言的过程功能的组合.它是由Oracle Corporation在90年代初开发的,目的是 ...

  4. c语言中的奇数位,在C ++中计算整数中的偶数和奇数位

    给我们一个整数,任务是计算一个数字中的偶数和奇数.另外,我们将继续检查整数中的偶数是否出现偶数次,并且整数中的奇数位是否出现奇数次. 例如Input − digit = 12345Output − c ...

  5. 【华为OD机试真题 JAVA】计算堆栈中的剩余数字

    JS版:[华为OD机试真题 JS]计算堆栈中的剩余数字​​​​​​​ 标题:计算堆栈中的剩余数字 | 时间限制:1秒 | 内存限制:32768K | 语言限制:不限 向一个空栈中依次存入正整数, 假设 ...

  6. js计算数组中每个元素出现的次数(2种方法)

    js计算数组中每个元素出现的次数(2种方法) js动态生成唯一id Javascript生成全局唯一标识符(GUID,UUID)的方法

  7. 如何在JS中应用正则表达式

    背景:在之前的随笔中写过C#中如何使用正则表达式,这篇随笔主要讲如何在js中应用正则表达式 如下代码: 1 $("#zhengze").click(function () { 2 ...

  8. 如何在 R 中计算条件概率

    假设事件B已经发生,事件A发生的条件概率计算如下: P(A|B) = P(A∩B) / P(B) 在哪里: P(A∩B) = 事件A 和事件 B 同时发生 的概率 . P(B) = 事件 B 发生的概 ...

  9. 如何在 R 中计算调整后的 R 平方

    如果有什么问题和项目作业关于R语言,可以微信call我:RunsenLiu R 平方,通常写成 R 2,是响应变量中的方差比例,它可以由线性回归模型中的预测变量来解释. R-squared 的值可以在 ...

最新文章

  1. 如何修改配置以修复ThinkPad 小红帽滚轮失效?
  2. UITableView注意点
  3. SQL教学思路《图书管理系统》习题二:插入数据
  4. 【迁移学习(Transfer L)全面指南】Domain-Adversarial Training:基于对抗的迁移学习方法
  5. java内存模型 原子性_Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)...
  6. 使用Camel在来自不同来源的Solr中索引数据
  7. 手机访问电脑文件_手机直接访问电脑文件,不用数据线,方便快速
  8. tomcat部署工程后,webapps文件夹下找不到war包的解决方法
  9. php netstat,Netstat 命令详解
  10. spark学习7之IDEA下搭建Spark本地编译环境并上传到集群运行
  11. 简单控制台项目:电影购票系统
  12. golang学习之远程木马demo编写
  13. 我的缅甸往事(二) | 惊魂南塘河
  14. altium room 布局_Altium Designer的PCB中ROOM的功用、放置、修改
  15. 医院公厕智能化管理需要实现哪些功能
  16. 关于扩展IP地址空间的几个方案的探讨
  17. linux日志查看命令
  18. ListView控件的理解——自洽理论
  19. Makefile教程(超级详细)
  20. Buildroot中文用户手册

热门文章

  1. centos7配置squid代理(透明代理)
  2. 一张图片,根据区域,跳转不同链接
  3. Springboot 自定义身份证验证注解
  4. 达摩院视觉AI课-身份证识别
  5. 计算机程序设计知识点总结,软考程序员知识点总结(一)
  6. DOM系列:DOM树和遍历DOM
  7. spring 运行原理
  8. Nginx反向代理https
  9. Springboot使用HTML模板发送电子邮件
  10. CS224N WINTER 2022 (六)前沿问题探讨(QA、NLG、知识集成与检索、Coreference)