首页 > 代码库 > 魔方 打乱步骤生成 算法
魔方 打乱步骤生成 算法
之前一直想写个魔方计算器来着,以为一直用的都是魔方小站上的那个,虽然经典,但是太不美观了,而且我是个前端,那页面,那代码,简直不忍直视,所以想自己写一个。可是各种原因一直没机会写完,只写了核心打乱部分。
但是由于我魔方水平有限,所以这个算法还是参考至魔方小站,只是重新写了下代码:
(function() { function checkmove(move, arr) { // 检测步骤合理性 var l = arr.length; return move == arr[l - 1] || (move == arr[l - 2] && (move / 2 | 0) == (arr[l - 1] / 2 | 0)); } function rndCube(maxSteps) { // 生成随机打乱步骤 var cubeArr = [], // 打乱步骤数组 cubeStr = "", // 打乱步骤字符串 cube = ["R", "L", "F", "B", "U", "D"], // 步骤 types = ["", "", "‘", "‘", "2"], // 步骤附加条件 r, // 随机数 i; for (i = 0; i < maxSteps || 25; i++) { do { r = Math.random() * 6 | 0; } while (checkmove(r, cubeArr)); cubeArr.push(r); cubeStr += cube[r] + types[Math.random() * 5 | 0] + " "; } return cubeStr; } console.log(rndCube()); })();
这个代码基本上就是这个计时器的核心部分了。
那个记录下载的功能,我打算用js实现,而不是提交到后台然后下载。
js下载文件方法 小胡子哥 博客里写过,但是有点小问题需要修改下才能满足我的要求。
真心要抽个时间写一下,不然就老了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。