微信一笔画游戏 的 路径算法
最近 地铁 上玩这个
然后想了想 路径 算法
只会穷举~
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])
微信一笔画游戏 的 路径算法相关推荐
- 【一笔画完】通关路径算法的Java代码实现V1.0
文章目录 前言 一.算法分析 二.算法设计 三.算法实现 四.演示(OneStrokeV1.0) 五.有待改进 1.不符合算法的有穷性,可能无法得到通关的路径 2.空间和时间复杂度高,IDEA的资源开 ...
- 五子棋html游戏代码与算法介绍
五子棋html游戏代码与算法介绍 运行图片 目录路径 五子棋.html 五子棋算法 进行下一个游戏的开发! 注意事项 我会把html文件.css文件提供下载地址,文件夹路径也展示给大家.但是图片就没法 ...
- HTML五子棋游戏代码介绍,五子棋html游戏代码与算法介绍
五子棋html游戏代码与算法介绍 我会把html文件.css文件提供下载地址,文件夹路径也展示给大家.但是图片就没法一一放在博客里面了. 大家有需要的话,加博主QQ:2864144286,全天在线. ...
- 《围住神经猫》的逃跑路径算法
关于<围住神经猫>的逃跑路径算法 <围住神经猫>是去年在微信上挺火的H5游戏,在学习unity3d的过程中我就想把这个游戏用我学习到的unity3d知识重新编写.神经猫的逃跑路 ...
- 微信警告小游戏“分享滥用”;小米千亿估值再被下调;Facebook 最大规模重组 | CSDN 极客头条...
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 「CSDN 极客头条」是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报 ...
- 微信html5小游戏源码70种
2019独角兽企业重金招聘Python工程师标准>>> 微信html5小游戏源码70种 http://download.csdn.net/detail/csdddn/9419955游 ...
- 微信广告引擎与社交传播算法实践
作者:InfoQ技术媒体,转载来源:http://36kr.com/p/5082185.html 你是如何被微信广告选中的?微信广告引擎与社交传播算法实践 微信广告自 2014 年上线以来,分别发布了 ...
- python玩微信小程序游戏_用python一步一步教你玩微信小程序【跳一跳】
12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...
- python玩微信小程序游戏_016 用python一步一步教你玩微信小程序【跳一跳】
12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...
最新文章
- 由优劣语言之争引起的思考
- 如何获取本地安装的Python模块列表?
- PyQt5 参考文档
- 计算机模拟考总结,高职单考单招计算机模拟一技术总结.doc
- 工作157:动态路由
- WPF自定义控件与样式(1)-矢量字体图标(iconfont)
- Ptrace 一个Linux强大的工具
- java里的日期时间
- 云原生时代,需要什么样的数据库?
- HttpHandler和ashx要实现IRequiresSessionState接口才能访问Session信息(转载)
- VC++内存泄漏检测工具VLD使用方法
- 【免费】搜狗站长URL自动推送工具1.4.1
- matlab命令窗口是什么,MATLAB命令窗口
- html剧场座位设计图,报告厅舞台到第一排的距离多少合适 剧院主舞台离座位最佳距离尺寸设计图...
- ERROR ITMS-4238
- 单片机8255c语言程序,51单片机8255驱动C程序
- 怎么取消苹果订阅自动续费_首开79,到期自动续费扣178元! 如何取消爱奇艺自动续费?...
- 备库ORA-00313 ORA-00312 ORA-27037
- WZOI-387图像相似度
- recycleview横向展开_Android开发之基于RecycleView实现的头部悬浮控件