mirror of
https://github.com/He4eT/DotDashPit.git
synced 2026-05-05 01:47:22 +00:00
game: pretty morse code
This commit is contained in:
parent
0e2596d1de
commit
d13d5807e8
1 changed files with 37 additions and 33 deletions
70
game.js
70
game.js
|
|
@ -6,34 +6,39 @@
|
||||||
// version: 0.1
|
// version: 0.1
|
||||||
// script: js
|
// script: js
|
||||||
|
|
||||||
let morseTable = {
|
const morseCode = [
|
||||||
'.-': 'A',
|
['A', ' .- '],
|
||||||
'-...': 'B',
|
['B', ' -... '],
|
||||||
'-.-.': 'C',
|
['C', ' -.-. '],
|
||||||
'-..': 'D',
|
['D', ' -.. '],
|
||||||
'.': 'E',
|
['E', ' . '],
|
||||||
'..-.': 'F',
|
['F', ' ..-. '],
|
||||||
'--.': 'G',
|
['G', ' --. '],
|
||||||
'....': 'H',
|
['H', ' .... '],
|
||||||
'..': 'I',
|
['I', ' .. '],
|
||||||
'.---': 'J',
|
['J', ' .--- '],
|
||||||
'-.-': 'K',
|
['K', ' -.- '],
|
||||||
'.-..': 'L',
|
['L', ' .-.. '],
|
||||||
'--': 'M',
|
['M', ' -- '],
|
||||||
'-.': 'N',
|
['N', ' -. '],
|
||||||
'---': 'O',
|
['O', ' --- '],
|
||||||
'.--.': 'P',
|
['P', ' .--. '],
|
||||||
'--.-': 'Q',
|
['Q', ' --.- '],
|
||||||
'.-.': 'R',
|
['R', ' .-. '],
|
||||||
'...': 'S',
|
['S', ' ... '],
|
||||||
'-': 'T',
|
['T', ' - '],
|
||||||
'..-': 'U',
|
['U', ' ..- '],
|
||||||
'...-': 'V',
|
['V', ' ...- '],
|
||||||
'.--': 'W',
|
['W', ' .-- '],
|
||||||
'-..-': 'X',
|
['X', ' -..- '],
|
||||||
'-.--': 'Y',
|
['Y', ' -.-- '],
|
||||||
'--..': 'Z',
|
['Z', ' --.. '],
|
||||||
}
|
].map(([letter, code]) => [letter, code.trim()])
|
||||||
|
|
||||||
|
const letterToMorse = Object.fromEntries(morseCode)
|
||||||
|
const morseToLetter = Object.fromEntries(
|
||||||
|
morseCode.map((pair) => pair.reverse()),
|
||||||
|
)
|
||||||
|
|
||||||
function TIC() {
|
function TIC() {
|
||||||
gameStages[currentStage]()
|
gameStages[currentStage]()
|
||||||
|
|
@ -226,7 +231,7 @@ function playMorseKey(seed) {
|
||||||
const note = bySeed(57, 72)
|
const note = bySeed(57, 72)
|
||||||
const volume = bySeed(8, 10)
|
const volume = bySeed(8, 10)
|
||||||
|
|
||||||
sfx(4, note, 4, 0, volume, 0);
|
sfx(4, note, 4, 0, volume, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleMorse() {
|
function handleMorse() {
|
||||||
|
|
@ -271,8 +276,8 @@ function handleMorse() {
|
||||||
key.buffer.length > 0 &&
|
key.buffer.length > 0 &&
|
||||||
now - key.upAt > IDLE_TIMEOUT
|
now - key.upAt > IDLE_TIMEOUT
|
||||||
) {
|
) {
|
||||||
if (morseTable[key.buffer]) {
|
if (morseToLetter[key.buffer]) {
|
||||||
destroyEnemiesByLetter(morseTable[key.buffer])
|
destroyEnemiesByLetter(morseToLetter[key.buffer])
|
||||||
}
|
}
|
||||||
key.buffer = ''
|
key.buffer = ''
|
||||||
}
|
}
|
||||||
|
|
@ -380,8 +385,7 @@ function spawnEnemies() {
|
||||||
}
|
}
|
||||||
|
|
||||||
arena.wave += 1
|
arena.wave += 1
|
||||||
arena.waveSeed = (Math.sin(arena.wave * 91.17) * 10000) % 1;
|
arena.waveSeed = (Math.sin(arena.wave * 91.17) * 10000) % 1
|
||||||
|
|
||||||
|
|
||||||
const enemyCount = 1 + Math.floor(arena.wave / 2)
|
const enemyCount = 1 + Math.floor(arena.wave / 2)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue