Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Урезанная клавограмма + измеритель брутто* для Клавогонок.
- автор: MMMAAANNN
- v 0.02
- Это альфа версия. Чтобы ее использовать, нужно:
- 1) Скопировать этот код
- 2) Открыть JS-консоль браузера
- 3) Создать заезд
- 4) Вставить код в консоль и нажать Enter ДО НАЧАЛА ЗАЕЗДА
- 5) Пройти заезд
- 6) Нажать любую клавишу
- 7) В консоли прочесть результат замера скорости нетто и брутто*
- Планируется далее оформить это все в юзерскрипт, чтобы не нужно было ничего никуда вставлять и чтобы результат выводился прямо на странице заезда, а не в консоли.
- */
- var x = 0;
- var keybogram = [];
- var nonPrintedKeys = "ShiftRight ShiftLeft ControlRight ControlLeft AltRight AltLeft".split(' ');
- document.onkeydown = function(ev) {
- if (game.gamestatus === 'racing') {
- if (!game.finished) {
- y = performance.now();
- keybogram.push([ev.code, y - x, ev]); x = y;
- } else {
- analyzeKeybogram(keybogram);
- }
- }
- }
- function analyzeKeybogram(keybogram) {
- var cleanKeybogram = [];
- for (i = 0; i < keybogram.length; i++) {
- if (keybogram[i][0] === 'Backspace') {
- if (keybogram[i][2].ctrlKey) {
- while (cleanKeybogram[cleanKeybogram.length-1] != 'Space') cleanKeybogram.pop();
- } else {
- cleanKeybogram.pop();
- }
- } else if (nonPrintedKeys.indexOf(keybogram[i][0]) === -1) {
- cleanKeybogram.push(keybogram[i]);
- }
- }
- var totalTime = 0;
- for (i = 1; i < keybogram.length; i++) { totalTime += keybogram[i][1]; }
- var cleanTime = 0;
- for (i = 1; i < cleanKeybogram.length; i++) { cleanTime += cleanKeybogram[i][1]; }
- console.log("Net speed:", cleanKeybogram.length/(totalTime/60000));
- console.log("Brutto* speed:", cleanKeybogram.length/(cleanTime/60000));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement