// ==UserScript== // @name 洛谷名字颜色随机,管理员和作弊者交换 // @namespace http://tampermonkey.net/ // @version 0.1 // @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 // @downloadURL none // ==/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)) {nmap.set(name.innerHTML,Math.floor(Math.random()*colors.length))} } for(let name of arr) { name.className=colors[nmap.get(name.innerHTML)]; } console.log(nmap) })();