Skip to content

calledtoconstruct/clash-of-code-enhancer

 
 

Repository files navigation

CodinGame - Clash of Code enhancer userscript

Features:

  • fair leaderboard points system - the verbosity of a programming language does not influence points gained in shortest mode clashes
  • tournament leaderboard points persistent over multiple Clash of Code games
  • color codes the vanilla leaderboard based on current game results: green for winners, yellow for 2nd position, orange for 3rd position or lower and red for 0% score, setting: enableVanillaLeaderboardStyling
  • automatically shares code when clash ends, setting: automaticallyShareSolution
  • when starting a new clash it closes the pop-up
  • when starting a new clash it enables the automatic file sync extension: CodinGame Sync, setting: enableIdeSynchronization

Keyboard shortcuts

On leaderboard / clash report page:

  • Ctrl + m to start new tournament - resets the points
  • Ctrl + i to initiate a new clash

On creating a new private clash page:

  • Ctrl + Alt + 0 deselect all languages
  • Ctrl + Alt + 1 select all languages
  • Ctrl + Alt + 2 select statically typed functional programming languages only
  • Ctrl + Alt + 3 select dynamically typed programming languages only

How to install:

  • install https://violentmonkey.github.io/ extension for your browser or equivalent user script browser extension
  • load the userscript userscript.user.js in the extension: With violentmonkey you can do that by saving the raw userscript.user.js to your computer and then drag and dropping it in a browser tab

To change settings edit the SETTINGS object values in the source code.

Screenshots:



Contributing - if you wish to contribute, here is a list of features and bug fixes that are incoming. I recomend discussing with me before working on implementing or fixing something so that we do not overlap. The 2 lists bellow are priority queues and I work on them top down.

Features:

  • tooltips that explain columns, points, etc.
  • enhance the clash user interface: remove uneeded elements, fix tiling bugs, allow resizing of all sections, ...
  • position for each separate win category: average points position, wining streak position, etc.
  • automatic link sharing to twitch via speechchat.com or twitch stream manager and to Discord possibly via having a Discord tab opened also
  • the TTS voice is not kawaii enough
  • add wordwrap to the solution view!!!!!!!!!!!!!!!!!!!!!!!
  • best highlighting/column for: 100% win streak, different language streak, etc.
  • green and red arrow if someone advances in the leaderboard
  • notifications and permanent indicators for when other Clash of Code players are streaming
  • start new tournament - tournament id
  • tournament id dropdown - aggregate [1..n] tournaments
  • force update keyboard shortcut
  • shortcut for starting new public clash: Ctrl + Shift + i and document it
  • change timer color as time remaining gets lower: green to red gradient
  • use exponential scale for score
  • get stars for 100% score solutions
  • more columns to get best players based on different metrics
  • more advanced statistics: ELO rating? how consistently well someone plays?
  • automaticly invite people the user is following and twitch/discord share of the clash link
  • submit on all tests passed for fastest modes
  • display tournament round
  • export all user script data and settings to file
  • vote on quality, type safety, etc. via CoC integrated chat
  • easy way to compare 2 or more solutions side-by-side
  • save answers locally
  • move css to external file: @resource
  • reset local code file when starting new clash
  • points explanation
  • shortcut to obfuscate usernames and avatars
  • cheating using: ruby -e"" should not give points
  • other uses for the TTS hammer
  • keyboard shortcut to focus view on leaderboard, current game results, etc.
  • convert table to use angularjs? vue?
  • sort by columns (use angularjs?)

Bugs:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%