Greasy Fork is available in English.

AtCoder♡♡

AtCoderの問題文を雑な♡喘ぎ仕様にします。

  1. // ==UserScript==
  2. // @name AtCoder♡♡
  3. // @namespace http://atcoder.jp/
  4. // @version 1.0.1
  5. // @description AtCoderの問題文を雑な♡喘ぎ仕様にします。
  6. // @author Nauclhlt
  7. // @match https://atcoder.jp/contests/*/tasks/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. // Your code here...
  16. let ReplaceMap = {
  17. "ています。" : "てるのっ♡♡♡",
  18. "てください。": "てっ…♡♡おねがいだからぁっ♡♡",
  19. "られます。": "られちゃうのぉぉっ♡♡ ",
  20. "られる。": "られちゃうのぉぉっ♡♡",
  21. "せよ。": "してっ♡♡♡",
  22. "となる。": "になっちゃうぅぅぅぅ♡♡♡",
  23. "となる": "になっちゃうぅぅぅぅ♡♡♡",
  24. "よい。": "いいよ♡♡",
  25. "良い。": "いいよ♡♡",
  26. "ます。": "まぁす♡♡",
  27. "。": "♡♡ ",
  28. "て、": "てぇっ♡♡ ",
  29. "、": "っ♡♡ "
  30. };
  31. function dfsReplace(root, map)
  32. {
  33. let stack = [root];
  34.  
  35. while (stack.length > 0)
  36. {
  37. let element = stack.pop();
  38. if ( element.tagName == "P" || element.tagName == "LI" )
  39. {
  40. for ( let key in map )
  41. {
  42. element.innerHTML = element.innerHTML.replaceAll(key, map[key]);
  43. }
  44. }
  45. if (element.children.length > 0)
  46. {
  47. for (let i = 0; i < element.children.length; i++)
  48. {
  49. stack.push(element.children[i]);
  50. }
  51. }
  52. }
  53.  
  54. return false;
  55. }
  56.  
  57. let taskStatement = document.getElementById("task-statement");
  58. dfsReplace( taskStatement, ReplaceMap );
  59. })()