目录

  • 前言
  • 算法研究
  • 核心代码
  • 最终效果
  • 小插叙
  • 体验地址
  • 项目地址
  • 特别感谢

前言

昨天在群里看到了一个分享的小游戏《王者算24点

然后开心地分享了自己340秒10个的战绩

结果被小青瞬间KO。。她用202秒就结束了

既然作为程序员,那就用程序员的方式来继续战斗吧~

算法研究

说到24点,无非就是4个数字之间的组合,也不知道是怎么写的,反正我最后算出来是有3888种组合方式,只要算完这3888种,就能找出结果了,不然就是没有结果

  • 先从4个里挑1个
  • 从剩下3个里挑1个
  • 组合后计算出1个新的数字(通过加减乘除)
  • 去掉挑出的2个数字,加入新的数字
  • 循环往复

核心代码

/*** 相当与是每一次计算的分布* @param arr {Array} 一堆数字* @param step {Array} 一堆步骤*/
function getOneCalc(arr, step) {step = step || [];for (let i = 0; i < arr.length; i++) {for (let j = i + 1; j < arr.length; j++) {/** * 0 a+b* 1 a-b* 2 b-a* 3 a*b* 4 a/b* 5 b/a*/                     for (let z = 0; z < 6; z++) {let newVal;let newArr = getOtherNum(arr, i, j);let newStep = JSON.parse(JSON.stringify(step));if (z == 0) {// 计算新的值newVal = Number(arr[i]) + Number(arr[j]);// 用来记录操作方法,最后看出流程用newStep.push(arr[i] + '+' + arr[j]);}if (z == 1) {newVal = arr[i] - arr[j];newStep.push(arr[i] + '-' + arr[j]);}if (z == 2) {newVal = arr[j] - arr[i];newStep.push(arr[j] + '-' + arr[i]);}if (z == 3) {newVal = arr[i] * arr[j];newStep.push(arr[i] + '*' + arr[j]);}if (z == 4) {newVal = arr[i] / arr[j];newStep.push(arr[i] + '/' + arr[j]);}if (z == 5) {newVal = arr[j] / arr[i];newStep.push(arr[j] + '/' + arr[i]);}newArr.push(newVal);if (newArr.length !== 1) {// 如果还没有计算到最后的值,就继续计算getOneCalc(newArr, newStep)} else {// 如果最后的结果正确,就打印计算流程if (newArr[0] === 24) {console.log(newArr[0], newStep);}}}}}
}

最终效果

达成了160秒完成了10题的成就,超越了99%的玩家~

主要是输入和判断还要时间( •̀ ω •́ )y,不然还可以更快

小插叙

小青说少玩游戏,特别是这类游戏的整体感觉还不行(哈哈,论UI的重要性了),顺带一提,长期寻找UI美术小伙伴一起研发小游戏,有兴趣的可以联系我哈tel:18868196263~

体验地址

https://tekii.cn/public/24/

Chrome里面textarea换行有问题,可以在手机上访问该页面

项目地址

https://gitee.com/ko-orz/24/

特别感谢

[1] 匿名. 《王者算24点》2019-02-12
[2] 小青. 体验游戏 2019-02-20
[3] 写了这篇文章的2019年02月21日21时29分的Maxmon

『003』闲下来,写个算24点的工具吧(ノωく)相关推荐

  1. 『原创』ewebeditor 2.1.6 上传漏洞利用工具

    朋友说原来的ewebeditor 2.1.6 HTML版用着太麻烦,每次还得输入地址,叫我帮忙写一个...- -||| ewebeditor 2.1.6 上传漏洞利用工具 ewebeditor在网上用 ...

  2. Python爬虫追美剧?你咋这么溜溜溜『上篇』

    皮爷不知道大家有多少人是喜欢看美剧? 反正皮爷是个美剧迷,不能说狂,但是看美剧的时间也有差不多10年了.硬生生的把好多部剧都追到了完结. 最早以前,网上资源还不是很严的时候,找个美剧是十分简单的.可是 ...

  3. 『MTCNN』2万多字教科书式详解

    发现一篇关于MTCNN的博文,本来打算自己写一篇的,但看了这篇,我觉得不用我再写了,转载跟大家分享一下 尊重原创,转载自:https://blog.csdn.net/sinat_39783664/ar ...

  4. 『开源』Slithice 2013 服务器集群 设计和源码

    相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...

  5. 从锤子手机看『情怀』与有『情怀』的产品设计

    2019独角兽企业重金招聘Python工程师标准>>> 是老罗T2的发布会,我才开始真正接触情怀这个词. 发布会上T2是一款骁龙808的CPU,小米4C在1300-1500之间,锤子 ...

  6. 『往事』之---我的一路十年

    『往事』之---我的一路十年 2009-12-26/Lexlin   十年这个题目其实早见朋友写过,当时也想动笔一试,却最终没有坚持下来,不是因为记忆的残缺或丢失,只是因为这10年多是平淡和失落,因而 ...

  7. 『分享』〖文献资料〗古代诗歌中的意象整理

    导读: 『分享』[文献资料]古代诗歌中的意象整理 古代诗歌中的意象整理 众所周知,诗歌的创作十分讲究含蓄.凝练.诗人的抒情往往不是情感的直接流露,也不是思想的直接灌输,而是言在此意在彼,写景则借景抒情 ...

  8. 『转载』Debussy快速上手(Verdi相似)

    『转载』Debussy快速上手(Verdi相似) Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是 ...

  9. 两个构件的重合点_初三物理易错点:你被眼睛欺骗了,那些『平面镜成像』中的困惑...

    时光飞逝,一晃初三的伙伴们已经返校复课一个多月了,想必有很多感慨和困惑吧? 还有的地方初三的伙伴们还没有复课,在家乖乖地学习网课,想必也是有诸多的困惑和不解吧? 今天木木老西跟大家解开物理当中的一个困 ...

最新文章

  1. 【ZZ】浅谈大型web系统架构 | 菜鸟教程
  2. mysql collation utf8_mysql数据库 表字段 的collation utf8_unicode_ci
  3. asin c语言中 返回值范围_asin()_C语言asin()详解:反正弦函数,求反正弦值
  4. oracle 清空表数据的2种方式及速度比较
  5. 因为高考砸了,所以大学一直在超越
  6. python将txt文件中的大小写转换_面试题:Python大小写转换
  7. P1971 [NOI2011]兔兔与蛋蛋游戏
  8. RabbitMQ在Ubuntu上的环境搭建
  9. c语言getchar_二级C语言试题刷题录
  10. 修改文件中的内容,使用fileinput模块
  11. Native App
  12. 360极速浏览器连接远程notebook会出现问题,403 GET /api/kernels/
  13. Qt QDataTime QString 两个类的使用
  14. QTeewidget逐行进行遍历(递归)
  15. MAC python版本选择实现版本切换
  16. 计算机打字键盘亮怎么设置,win7系统键盘灯亮着但是不能打字的解决方法?
  17. 现代三角钢琴音源 Native Instruments The Grandeur 1.2
  18. C++类内静态成员的内存释放问题
  19. 基于ArduPilot的旋翼式无人机飞行器开发系列(四,四轴无人机的各个组件详解及其焊接,组装)---正在更新中
  20. 自然语言处理NLP星空智能对话机器人系列:Facebook StarSpace框架初体验

热门文章

  1. 【Leetcode473】火柴拼正方形(递归与回溯)
  2. 深富策略:股市中对敲的操作手法
  3. python自动化之UI招聘网
  4. AE模板 线条呼出文字标注介绍科技动画(含使用教程)
  5. 2019超级计算机的最新进展,2019—2020,这就是我的中国!
  6. UpdatePanel AsyncPostBackTrigger PostBackTrigger
  7. [CISCN2020]-rceme
  8. bochs上网镜像怎么上网_bochs core镜像可上网版
  9. bezier 曲线的绘制 matlab实现
  10. 安庆师范大学计算机与信息学院考研光荣榜,信息工程学院2016级考研考公光荣榜(十)...