洛谷名字颜色随机,管理员和作弊者交换

洛谷名字颜色随机!

目前為 2023-04-01 提交的版本,檢視 最新版本

// ==UserScript==
// @name         洛谷名字颜色随机,管理员和作弊者交换
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  洛谷名字颜色随机!
// @author       LincW
// @match        https://www.luogu.com.cn/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=luogu.com.cn
// @grant        none
// @license      GNU GPLv3
// ==/UserScript==

(function() {
    let purple="lg-fg-purple lg-bold";
    let red="lg-fg-red lg-bold";
    let orange="lg-fg-orange lg-bold";
    let green="lg-fg-green";
    let blue="lg-fg-bluelight";
    let gray="lg-fg-gray";
    let brown="lg-fg-brown lg-bold";
    let colors=[purple,red,orange,green,blue,gray,brown];
    let purplebadge="am-badge am-radius lg-bg-purple";
    let brownbadge="am-badge am-radius lg-bg-brown";
    let stpb=[...document.getElementsByClassName(purplebadge)]
    let stbb=[...document.getElementsByClassName(brownbadge)]
    let stp=[...document.getElementsByClassName(purple)]
    let stb=[...document.getElementsByClassName(brown)]
    for(let pbadge of stpb)
    {
        pbadge.className=brownbadge;
        pbadge.innerHTML="作弊者";
    }
    for(let bbadge of stbb)
    {
        //console.log(bbadge)
        bbadge.className=purplebadge;
        bbadge.innerHTML="管理员";
    }
    for(let pname of stp)
    {
        pname.className=brown;
    }
    for(let bname of stb)
    {
        bname.className=purple;
    }
    let reds=document.getElementsByClassName(red);
    let oranges=document.getElementsByClassName(orange);
    let greens=document.getElementsByClassName(green);
    let blues=document.getElementsByClassName(blue);
    let grays=document.getElementsByClassName(gray);
    let nmap=new Map();
    let arr=[...reds,...oranges,...greens,...blues,...grays];
    for(let name of arr)
    {
        if(!nmap.has(name.innerHTML))
        {
            if(name.innerHTML=="LincW") nmap.set(name.innerHTML,0)
            else nmap.set(name.innerHTML,Math.floor(Math.random()*colors.length))
        }
    }
    for(let name of arr)
    {
        if(name.children.length>=1) continue;
        name.className=colors[nmap.get(name.innerHTML)];
        if(nmap.get(name.innerHTML)==colors.length-1)
        {
            let appr=name.parentNode.innerHTML.indexOf("</a>")+4;
            let gz=name.parentNode.innerHTML.match("</svg>");
            if(gz)
            {
                appr=name.parentNode.innerHTML.indexOf("</a>",appr)+4;
            }
            name.parentNode.innerHTML=name.parentNode.innerHTML.slice(0,appr)+"&nbsp;<span class=\"am-badge am-radius lg-bg-brown\">作弊者</span>"+name.parentNode.innerHTML.slice(appr);
        }
        if(nmap.get(name.innerHTML)==0)
        {
            let appr=name.parentNode.innerHTML.indexOf("</a>")+4;
            let gz=name.parentNode.innerHTML.match("</svg>");
            if(gz)
            {
                appr=name.parentNode.innerHTML.indexOf("</a>",appr)+4;
            }
            if(name.innerHTML=="LincW") name.parentNode.innerHTML=name.parentNode.innerHTML.slice(0,appr)+"&nbsp;<span class=\"am-badge am-radius lg-bg-purple\">脚本作者</span>"+name.parentNode.innerHTML.slice(appr);
            else name.parentNode.innerHTML=name.parentNode.innerHTML.slice(0,appr)+"&nbsp;<span class=\"am-badge am-radius lg-bg-purple\">管理员</span>"+name.parentNode.innerHTML.slice(appr);
        }
    }
    console.log(nmap)
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址