您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
ぱずぷれのヤジリンの数字の挙動を変更します。
// ==UserScript== // @name Yajirin Customizer of pzpr // @namespace http://twitter.com/udop_/ // @version 0.1 // @description ぱずぷれのヤジリンの数字の挙動を変更します。 // @author udop_ // @match http://pzv.jp/p.html?yajilin/* // @require https://code.jquery.com/jquery-3.4.1.min.js // @run-at document-ready // ==/UserScript== (function($) { var boardx, boardy,fig setTimeout(function(){ ui.debug.filesave_pencilbox() var data = ui.debug.getTA().split("\n") boardy = data[0] -0 boardx = data[1] -0 fig = $("svg") var g = fig.find("text:first").closest("g") g.attr("id","original") var gg = g.clone().attr("id","clone").insertBefore(g) var boardw = parseInt(fig.find("path:first").attr("d").split(" ")[4]) var boardh = parseInt(fig.find("path:first").attr("d").split(" ")[9]) var cellw = boardw / boardx var cellh = boardh / boardy $("#clone text").each(function(i,e){ let w = parseInt($(e).attr("x")) let h = parseInt($(e).attr("y")) let x = Math.floor(w / cellw) let y = Math.floor(h / cellh) $(e).attr("cx",x) $(e).attr("cy",y) }); $("#clone path").each(function(i,e){ let w = parseInt($(e).attr("d").split(" ")[1]) let h = parseInt($(e).attr("d").split(" ")[2]) let x = Math.floor(w / cellw) let y = Math.floor(h / cellh) $(e).attr("id",`allow_${x}_${y}`) }); var style = $("<style></style>") style.html("#original path[fill=black], #original text{fill:transparent;}") style.appendTo($("head")) console.log(boardw,boardh,boardx,boardy,cellw,cellh) },200) $(document).on("click",function(){ ui.debug.filesave_pencilbox() var data = ui.debug.getTA().split("\n") var board = [] var color for(let y=0; y<boardy; y++){ board.push(data[y+2].trim().split(" ")) } $("#clone text").each(function(i,e){ let cx = $(e).attr("cx") -0 let cy = $(e).attr("cy") -0 let d = Math.floor((board[cy][cx] - 0) / 16) let n = (board[cy][cx] - 0) % 16 let tar,bn=0 if( d==0 ){ tar = board.map((b) => {return b[cx]}).slice(0,cy).reverse() } else if(d==1){ tar = board[cy].slice(0,cx).reverse() } else if(d==2){ tar = board.map((b) => {return b[cx]}).slice(cy+1) } else { tar = board[cy].slice(cx+1) } bn = tar.filter(c => c == "#").length $(e).text(n-bn) if(n-bn>0){ color = "black" } else if(n-bn == 0){ color = "gray" } else { color = "red" } $(e).attr("fill",color) $(`#allow_${cx}_${cy}`).attr("fill",color) }); }) })(jQuery);