/* * Konami code support */ // Cursor denote the position in konami code let cursor = 0 const KONAMI_CODE = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65] function afterKonami () { // Load Rythm.js var rythmScript = document.createElement('script') rythmScript.setAttribute('src', '//unpkg.com/rythm.js@2.2.5/rythm.min.js') document.head.appendChild(rythmScript) rythmScript.addEventListener('load', function () { // Ker-Lyon audio courtesy of @adalan, ker-lyon.fr const audioElement = new Audio('/static/song/konami.ogg') audioElement.loop = true audioElement.play() const rythm = new Rythm() rythm.connectExternalAudioElement(audioElement) rythm.addRythm('card', 'pulse', 50, 50, { min: 1, max: 1.1 }) rythm.addRythm('d-flex', 'color', 50, 50, { from: [64, 64, 64], to: [128, 64, 128] }) rythm.addRythm('nav-link', 'jump', 150, 50, { min: 0, max: 10 }) rythm.start() }) } // Register custom event document.addEventListener('keydown', (e) => { cursor = (e.keyCode === KONAMI_CODE[cursor]) ? cursor + 1 : 0 if (cursor === KONAMI_CODE.length) { afterKonami() } })