摸鱼也摸鱼之点灯游戏自动求解

游戏

变色方块 世上最难智力游戏 (yanhaijing.com)

脚本

新建文件夹,命名为Inverter

在文件夹下新建inverter.js文件,内容如下

"use strict";function getA() {let a = [];let level = parseInt(document.querySelector("#cur-level").innerHTML);for (let i = 0; i < level; i++) {a.push([]);for (let j = 0; j < level; j++) {a[i].push(0);}}return a;
}function solve() {let level = parseInt(document.querySelector("#cur-level").innerHTML);let screen = document.querySelector("#screen");let max = Math.floor(Math.pow(2, level));for (let num = 0; num < max; num++) {let a = getA();let f = getA();let s = num.toString(2);while (s.length < level) {s = "0" + s;}for (let i = 0; i < level; i++) {if (s[i] == '1') {a[0][i] = 1 - a[0][i];f[0][i] = 1;if (i > 0) {a[0][i - 1] = 1 - a[0][i - 1];}if (i + 1 < level) {a[0][i + 1] = 1 - a[0][i + 1];}if (1 < level) {a[1][i] = 1 - a[1][i];}}}for (let i = 0; i < level - 1; i++) {for (let j = 0; j < level; j++) {if (a[i][j] == 0) {f[i + 1][j] = 1;a[i][j] = 1 - a[i][j];a[i + 1][j] = 1 - a[i + 1][j];if (j > 0) {a[i + 1][j - 1] = 1 - a[i + 1][j - 1];}if (j + 1 < level) {a[i + 1][j + 1] = 1 - a[i + 1][j + 1];}if (i + 2 < level) {a[i + 2][j] = 1 - a[i + 2][j];}}}}let c = 0;for (let i = level - 1, j = 0; j < level; j++) {c += a[i][j];}if (c == level) {console.log(a);console.log();console.log(f)console.log();console.log(s);let divs=document.querySelectorAll(".square ");for(let i=0;i<level;i++){for(let j=0;j<level;j++){if(f[i][j]==1){let index=i*level+j;divs[index].click();}}}break;}}
}document.oncontextmenu = (e) => {e.preventDefault();solve();
}

再建一个manifest.json文件,内容如下

{"name": "inverter","version": "1.0","description": "单击鼠标右键自动求解点灯","manifest_version": 2,"content_scripts": [{"matches": ["http://yanhaijing.com/inverter/"],"js": ["inverter.js"]}]
}

部署

因为我用的是Edge浏览器,就以它为例,打开它的扩展

使用键盘上的Win键+右方向键,将这个画面缩到右边,将脚本文件夹缩到左边

使用鼠标将脚本文件夹Inverter拖到扩展区中,即可添加完毕

测试

打开我们的游戏主页

鼠标右键单击,即可自动帮我们解答,进入下一关。 

注意

由于随着N的增长,算法复杂度为O(2^N),后面有可能会变得很慢,适当游戏,主要是学习算法以及搭配浏览器编写脚本,不要本末倒置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/83420.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决 SQLyog 连接 MySQL8.0+ 报错:错误号码2058

文章目录 一、问题现象二、原因分析三、解决方案1. 方案1&#xff1a;更新SQLyog版本2. 方案2&#xff1a;修改用户的授权插件3. 方案3&#xff1a;修复my.cnf 或 my.ini配置文件 四、最后总结 本文将总结如何解决 SQLyog 连接 MySQL8.0 时报错&#xff1a;错误号码2058 一、问…

线程池:神秘的“轻量级线程”

当前我们的多线程部分已经学习了几个代码案例&#xff1a; 1.单例模式 2.阻塞队列 -> 生产者消费者模型 3.定时器 4.线程池 而线程存在的意义就是&#xff0c;使用进程来实现并发编程会“太重了”&#xff0c;创建和销毁进程都会比较耗资源。 但是线程会更加高效。此时&…

K8S名称空间和资源配额

Kubernetes 支持多个虚拟集群&#xff0c;底层依赖于同一个物理集群。 这些虚拟集群被称为名称空间。名称空间namespace是k8s集群级别的资源&#xff0c;可以给不同的用户、租户、环境或项目创建对应的名称空间&#xff0c;例如&#xff0c;可以为test、dev、prod环境分别创建各…

BigDecimal正确使用姿势

文章目录 BigDecimal1.0BigDecimal减法1.1 BigDecimal除法1.2 BigDecimal累加1.3 BigDecimal转为double&#xff0c;并累加Bigdecimal转Double并四舍五入保留两位小数1.4 BigDecimalFormat使用1.5 BigDecimal转为StringBigDecimal转为String展示1.6 小数点处理setScale&#xf…

Stable Diffusion 参数介绍及用法

大模型 CheckPoint 介绍 作用&#xff1a;定调了作图风格&#xff0c;可以理解为指挥者 安装路径&#xff1a;models/Stable-diffusion 推荐&#xff1a; AnythingV5Ink_v32Ink.safetensors cuteyukimixAdorable_midchapter2.safetensors manmaruMix_v10.safetensors counterf…

Python 图片处理笔记

import numpy as np import cv2 import os import matplotlib.pyplot as plt# 去除黑边框 def remove_the_blackborder(image):image cv2.imread(image) #读取图片img cv2.medianBlur(image, 5) #中值滤波&#xff0c;去除黑色边际中可能含有的噪声干扰#medianBlur( Inp…

学习路之api --接口文档和常见的状态码

一、接口文档 https://www.showdoc.com.cn/ 二、常见的状态码 200-299&#xff1a;表示服务器已经成功接收请求&#xff0c;并完成整个处理过程。 200&#xff1a;OK&#xff0c;表示请求成功&#xff1b; 201&#xff1a;Created 已创建。成功请求并创建了新的资源&#xf…

买卖股票的最佳时机

一、题目。 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置…

2023年云南省职业院校技能大赛中职组“网络安全”赛项样题

2023年云南省职业院校技能大赛 中职组“网络安全”赛项样题 一、竞赛时间 总计&#xff1a;180分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 数据库加固 A-3 服务加固SSH\VSFTPD A-4 防火墙策…

RPC和HTTP调用的区别

RPC&#xff08;Remote Procedure Call&#xff09;和HTTP调用都是用于实现远程通信的方法&#xff0c;但它们有一些重要的区别&#xff1a; 通信协议: RPC&#xff1a;RPC通常使用自定义的二进制协议或者序列化协议&#xff08;如Protobuf、Thrift&#xff09;来进行通信。这些…

php预约系统源码 网上预约小程序开发源码 整套系统搭建让在线预约更便捷

随着互联网技术的发展&#xff0c;越来越多的服务行业开始通过网上预约系统来实现便捷的客户管理和服务提供。PHP预约系统源码作为一种成熟的技术方案&#xff0c;可以帮助商家快速搭建自己的预约系统&#xff0c;提高工作效率&#xff0c;优化客户体验。 分享一个php预约系统…

线段树维护矩阵:0920T4

正解为文艺平衡树维护矩阵&#xff0c;但我打不动&#xff0c;所以打了部分分 首先可以写成dp形式 然后又可以写成矩阵形式 然后矩阵显然支持结合律 所以可以拿线段树维护 #include<bits/stdc.h> using namespace std; #define int long long inline int read(){int…

常见的排序算法及时间空间复杂度

排序算法是计算机科学中的基本算法之一&#xff0c;它用于将一组数据按照某种顺序进行排列。下面是一些常见的排序算法&#xff0c;以及它们的思想和时间空间复杂度&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢…

Python日期处理库:掌握时间的艺术

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 日期和时间在计算机编程…

nginx重写与防盗链

Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求&#xff0c;此功能依靠 PCRE(perl compatible regular expression)&#xff0c;因此编译之前要安装PCRE库&#xff0c;rewrite是nginx服务器的重要功能之 一&#xff0c;用于实现URL的重写&#xff0c;URL…

《中国数字经济发展指数报告(2023年)》发布

导读 国家统计局《数字经济及其核心产业统计分类(2021)》首次对数字经济及其核心产业统计分类做出详细说明。然而&#xff0c;由于数字经济内涵外延的不断丰富&#xff0c;区域数字经济发展的量化评估仍在持续发展的过程中&#xff0c;以量化模型方式能够更加客观全面反映新时…

flash attention的CUDA编程和二维线程块实现softmax

本文参考了链接添加链接描述 flash attention介绍 flash attention的介绍可以参考论文:FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness,具体的数学公式参考下面这个图片:其中注意关于矩阵S有两个维度,softmax的操作维度是dim=1,用pytorc…

【HarmonyOS】元服务卡片router实现跳转到指定页面

【关键字】 元服务卡片、router跳转不同页面 【写在前面】 本篇文章主要介绍开发元服务卡片时&#xff0c;如何实现从卡片中点击事件跳转到指定的应用内页面功能。此处以JS UI开发服务卡片为例&#xff0c;JS卡片支持组件设置action&#xff0c;包括router事件和message事件&…

蒙特卡洛方法的数学基础-1

蒙特卡洛方法的数学基础-1 概率论 Bayes 公式 常用分布 Binominal Distribution Poisson Distribution Gaussian Distribution Exponential Distribution Uniform Distribution 大数定理 均匀概率分布随机地取N个数xi &#xff0c;函数值之和的算术平均收敛于函数的期望值 …

rsyslog-日志管理 logrotate-日志轮转

日志的管理的方式&#xff0c;以及怎么自己写一个管理日志的小脚本&#xff0c;其实也不能算脚本 管理日志的进程 rsyslogd&#xff1a;绝大部分日志记录&#xff0c;和系统操作有关&#xff0c;安全&#xff0c;认证sshd,su&#xff0c;计划任务at,cron… httpd/nginx/mysql: …