手把手教你用 node 玩跳一跳,跳一跳刷分

2024-08-29 01:32

本文主要是介绍手把手教你用 node 玩跳一跳,跳一跳刷分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

github: https://github.com/aOrz/wx_jump_game


实现原理:
用 adb,将手机截屏,并传输到电脑上,将图片载入到 canvas 中,通过 getImageData,获取到图片的数据,将 rgb颜色转为 255 的色值,形成一个二维数组,这样我们就可以用颜色点阵来表示图片了,重点来了,然后呢?


匹配跳跃点
棋子:小人颜色是固定的,找到小人的色值之后,我们就可以匹配到小人的底部,得到小人的坐标


棋盘:


棋盘的匹配有些复杂,棋盘的形状不规则,还有阴影,除了棋盘顶部还有左侧和前侧的视图。


1.刚开始,希望可以通过一行一行的扫描,找到棋盘最宽的地方,从而找到棋盘的 x 坐标,无奈,失败,可能有阴影的地方最宽,然后就跑偏了。


2.  想通过颜色的多少来区分是不是棋盘,颜色面积大的,肯定是背景色或者其他,可惜,界定没那么明显失败。


3. 还是横向扫描棋盘,扫描到之后,判断长度达到棋子宽度的1.5倍之后,就停止乡下扫描,获取到棋盘的点。


起跳:
获取到棋子和棋盘的坐标,计算两点之间的距离,然后乘以系数,就可以算出按压时间啦!使用 adb 就可以发送长按指令了哦~


 

这篇关于手把手教你用 node 玩跳一跳,跳一跳刷分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116454

相关文章

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

Node Linux相关安装

下载经编译好的文件cd /optwget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.gztar -xvf node-v10.15.3-linux-x64.tar.gzln -s /opt/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/ln -s /opt/nod

在Debian 8上安装Node.js的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 Node.js 是一个通用编程的 JavaScript 平台,允许用户快速构建网络应用程序。通过在前端和后端都使用 JavaScript,开发可以更加一致,并且可以在同一个系统中设计。 在本指南中,您将在 Debian 8 服务器上安装 Node.js。Debian 8 包含一个版本的

使用Node-API进行异步任务开发

一、Node-API异步任务机制概述         Node-API异步任务开发主要用于执行耗时操作的场景中使用,以避免阻塞主线程,确保应用程序的性能和响应效率。         1、应用场景: 文件操作:读取大型文件或执行复杂的文件操作时,可以使用异步工作项来避免阻塞主线程。网络请求:当需要进行网络请求并等待响应时,可以使用异步工作项来避免阻塞主线程,从而提高应用程序的响应性能。数据库操

Node.js学习记录(一)

目录 一、文件读取 readFile 二、写入文件 writeFile 三、动态路径 __dirname:表示当前文件所处的目录、path.join 四、获取路径文件名 path.basename 五、提取某文件中的css、JS、html 六、http 七、启动创建web服务器 服务器响应 八、将资源请求的 url 地址映射为文件的存放路径 九、模块 模块加载 模块作用域

ubuntu安装node的问题

初学node,按照书上的流程安装nodejs,当安装canvas的时候(npm install canvas)遇到问题 node-gyp rebuild 然后就卡住了,查了下,基本上就是各种依赖问题,几经折腾就在要放弃的时候,终于在网上发现node官方wike https://github.com/Automattic/node-canvas/wiki/Installation---Ubun

node快速复制文件或文件夹,排除部分文件(node_modules)

const fs = require('fs')const path = require('path')/*** @description: 获取完整的文件路径* @param {*} url 路径* @return {*} 返回完整的文件路径*/const getPath = (url) => {return path.join(__dirname, url)}/*** @descr

Node.js和vue3实现GitHub OAuth第三方登录

Node.js和vue3实现GitHub OAuth第三方登录 前言 第三方登入太常见了,微信,微博,QQ…总有一个你用过。 在开发中,我们希望用户可以通过GitHub账号登录我们的网站,这样用户就不需要注册账号,直接通过GitHub账号登录即可。 效果演示 注册配置 GitHub 应用 1.首先登录你的GitHub然后点击右上角的头像->点击进入Settings页面 2.在

Node.js入门与生态全解析:包管理与构建工具详解

Node.js入门与生态全解析:包管理与构建工具详解 目录 🎯 包管理 使用 npm 和 yarn:项目依赖管理的利器创建和发布 npm 包:实现模块化与共享 ⚙️ 构建工具 使用 Webpack 和 Babel:高效打包与代码转换配置构建流程:优化与自动化的最佳实践 🎯 包管理 - 使用 npm 和 yarn:项目依赖管理的利器 在Node.js的开发过程中,包管理是核心环节

vite是如何实现依赖预构建的,浏览器为什么没有实现从node_modules查找依赖,vite开发环境解决了什么问题

浏览器的esmodule 为什么没有做从node_modules查找依赖项 浏览器是基于http请求的,node_modules中依赖项不可控,可能又会依赖很多的包,整个依赖图都需要加载的话很耗性能。 commonjs是运行在服务端的,以file形式读取文件,内部有规避机制。 依赖预构建 首先vite会找到对应的依赖,然后调用esbuild(对js语法进行处理的一个库),将其他规范的代码转换