最近 地铁 上玩这个

然后想了想  路径 算法

只会穷举~

function findWay(m, n,/*空点 不能走*/emptyArrs,/*起点*/start) {let totalPoint = m * n;let inTotalPoint = 1;console.time('a44')function init() {let mn = [];for (var i = 0; i < n; i++) {mn[i] = []for (var j = 0; j < m; j++) {mn[i][j] = 1}}emptyArrs.forEach(item => {mn[item[0]][item[1]] = 2;totalPoint--;})return mn;}// let mn = init();let ways = {[start[0] + '-' + start[1]]: 0};findNextStep([start[0] + 1, start[1]], ways, 1)findNextStep([start[0] - 1, start[1]], ways, 1)findNextStep([start[0], start[1] + 1], ways, 1)findNextStep([start[0], start[1] - 1], ways, 1)function findNextStep(p, ways, i) {if (ways[p[0] + '-' + p[1]] > 1) {return false;}if (p[0] == start[0] && p[1] == start[1]) {return false;}if (p[0] < 0 || p[1] < 0 || p[0] >= n || p[1] >= m) {return false;}ways[p[0] + '-' + p[1]] = i;// console.log(p)// 上下左右if (getPoint([p[0], p[1] - 1]) == 1) {if (!findNextStep([p[0], p[1] - 1], ways, i + 1)) {ways[p[0] + '-' + (p[1] - 1)] = -1;}}if (getPoint([p[0], p[1] + 1]) == 1) {if (!findNextStep([p[0], p[1] + 1], ways, i + 1)) {ways[p[0] + '-' + (p[1] + 1)] = -1;}}if (getPoint([p[0] - 1, p[1]]) == 1) {if (!findNextStep([p[0] - 1, p[1]], ways, i + 1)) {ways[(p[0] - 1) + '-' + p[1]] = -1;}}if (getPoint([p[0] + 1, p[1]]) == 1) {if (!findNextStep([p[0] + 1, p[1]], ways, i + 1)) {ways[(p[0] + 1) + '-' + p[1]] = -1;}}if (Object.values(ways).filter(item => item > 0).length == totalPoint) {console.timeEnd('a44');console.log(ways);return true;}return false;}function getPoint(p) {if (ways[p[0] + '-' + p[1]] >= 0) {return 3;}return (p && mn[p[0]] && mn[p[0]][p[1]]) || 2;}
}

findWay(8,6,[[4,0],[1,1],[2,1],[0,4],[5,4]],[4,7])

微信一笔画游戏 的 路径算法相关推荐

  1. 【一笔画完】通关路径算法的Java代码实现V1.0

    文章目录 前言 一.算法分析 二.算法设计 三.算法实现 四.演示(OneStrokeV1.0) 五.有待改进 1.不符合算法的有穷性,可能无法得到通关的路径 2.空间和时间复杂度高,IDEA的资源开 ...

  2. 五子棋html游戏代码与算法介绍

    五子棋html游戏代码与算法介绍 运行图片 目录路径 五子棋.html 五子棋算法 进行下一个游戏的开发! 注意事项 我会把html文件.css文件提供下载地址,文件夹路径也展示给大家.但是图片就没法 ...

  3. HTML五子棋游戏代码介绍,五子棋html游戏代码与算法介绍

    五子棋html游戏代码与算法介绍 我会把html文件.css文件提供下载地址,文件夹路径也展示给大家.但是图片就没法一一放在博客里面了. 大家有需要的话,加博主QQ:2864144286,全天在线. ...

  4. 《围住神经猫》的逃跑路径算法

    关于<围住神经猫>的逃跑路径算法 <围住神经猫>是去年在微信上挺火的H5游戏,在学习unity3d的过程中我就想把这个游戏用我学习到的unity3d知识重新编写.神经猫的逃跑路 ...

  5. 微信警告小游戏“分享滥用”;小米千亿估值再被下调;Facebook 最大规模重组 | CSDN 极客头条...

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 「CSDN 极客头条」是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报 ...

  6. 微信html5小游戏源码70种

    2019独角兽企业重金招聘Python工程师标准>>> 微信html5小游戏源码70种 http://download.csdn.net/detail/csdddn/9419955游 ...

  7. 微信广告引擎与社交传播算法实践

    作者:InfoQ技术媒体,转载来源:http://36kr.com/p/5082185.html 你是如何被微信广告选中的?微信广告引擎与社交传播算法实践 微信广告自 2014 年上线以来,分别发布了 ...

  8. python玩微信小程序游戏_用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

  9. python玩微信小程序游戏_016 用python一步一步教你玩微信小程序【跳一跳】

    12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...

最新文章

  1. 由优劣语言之争引起的思考
  2. 如何获取本地安装的Python模块列表?
  3. PyQt5 参考文档
  4. 计算机模拟考总结,高职单考单招计算机模拟一技术总结.doc
  5. 工作157:动态路由
  6. WPF自定义控件与样式(1)-矢量字体图标(iconfont)
  7. Ptrace 一个Linux强大的工具
  8. java里的日期时间
  9. 云原生时代,需要什么样的数据库?
  10. HttpHandler和ashx要实现IRequiresSessionState接口才能访问Session信息(转载)
  11. VC++内存泄漏检测工具VLD使用方法
  12. 【免费】搜狗站长URL自动推送工具1.4.1
  13. matlab命令窗口是什么,MATLAB命令窗口
  14. html剧场座位设计图,报告厅舞台到第一排的距离多少合适 剧院主舞台离座位最佳距离尺寸设计图...
  15. ERROR ITMS-4238
  16. 单片机8255c语言程序,51单片机8255驱动C程序
  17. 怎么取消苹果订阅自动续费_首开79,到期自动续费扣178元! 如何取消爱奇艺自动续费?...
  18. 备库ORA-00313 ORA-00312 ORA-27037
  19. WZOI-387图像相似度
  20. recycleview横向展开_Android开发之基于RecycleView实现的头部悬浮控件

热门文章

  1. 联想开机启动项按哪个_联想电脑怎么在BIOS中设置从U盘或光盘启动
  2. 校园网能否实现wifi上网?
  3. C++ 实现基数排序
  4. MATLAB 到底有多厉害?
  5. APK反编译工具推荐----Jadx
  6. 【信号处理】虚拟信号发生器(各种波形)matlab代码
  7. [附源码]计算机毕业设计Python+uniapp基于安卓的校园二手书籍交易APP1yh1y(程序+lw+APP+远程部署)
  8. 针对个体的精准神经影像—当前的方法和未来方向
  9. matlabTDOA定位
  10. LVS负载均衡和nat模式的实操