// ==UserScript==
// @name 彩色AC
// @name:en Colorful AC
// @description BSOJ和洛谷的AC都是彩色!
// @description:en Bashu Online Judge and Luogu's AC are in color!
// @author 123asdf123(洛谷576074)
// @license SATA
// @icon data:image/png;base64,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
// @version 3.2
// @match *://www.luogu.com.cn/*
// @match *://oj.bashu.com.cn/*
// @namespace https://greasyfork.org/users/1265383
// @downloadURL none
// ==/UserScript==
let c=Math.round(Math.random()*360);
function hsvToRgb(x) {
var h = x, s = 100, v =100;
s = s / 100;
v = v / 100;
var r = 0, g = 0, b = 0;
var i = parseInt((h / 60) % 6);
var f = h / 60 - i;
var p = v * (1 - s);
var q = v * (1 - f * s);
var t = v * (1 - (1 - f) * s);
switch (i) {
case 0:
r = v; g = t; b = p;
break;
case 1:
r = q; g = v; b = p;
break;
case 2:
r = p; g = v; b = t;
break;
case 3:
r = p; g = q; b = v;
break;
case 4:
r = t; g = p; b = v;
break;
case 5:
r = v; g = p; b = q;
break;
default:
break;
}
r = parseInt(r * 255.0)
g = parseInt(g * 255.0)
b = parseInt(b * 255.0)
return [r, g, b];
}
var front = [];
var back = [];
function get(now){
if(now.innerHTML=='AC'&&now.className=="status"){
if(back.includes(now.parentNode)==false){
back.push(now.parentNode);
}
}
if(now.innerHTML=='Correct'){
if(back.includes(now.parentNode)==false){
back.push(now.parentNode);
}
}
if(now.innerHTML=='\n Accepted\n '){
if(front.includes(now)==false){
front.push(now);
if(now.parentNode.parentNode.parentNode.children.length>=3){
if(front.includes(now.parentNode.parentNode.parentNode.children[2].children[1].children[0].children[0])==false){
front.push(now.parentNode.parentNode.parentNode.children[2].children[1].children[0].children[0]);
}
}
}
}
if(now.innerHTML=='\n Accepted\n'){
if(back.includes(now)==false){
back.push(now);
if(now.parentNode.children.length>=2){
if(front.includes(now.parentNode.children[1])==false){
front.push(now.parentNode.children[1]);
}
}
}
}
if(now.innerHTML==' Congratulation !'){
if(back.includes(now)==false){
back.push(now);
}
}
if(now.innerHTML=='Accepted'&&now.className=="label label-success"){
if(back.includes(now)==false){
back.push(now);
}
}
if(now.innerHTML=='\n AC\n'){
if(back.includes(now)==false){
back.push(now);
}
}
var x=now.children;
for(var i=0;i {
let a = setInterval(() =>{
c++;
if(c==360){
c=0;
}
cnt++;
if(cnt==100){
get(document);
cnt=0;
}
rep();
},5)
})();