implement basic arkanoid version

This commit is contained in:
2021-11-23 21:10:22 +01:00
parent 814c564a85
commit e738cdd9be
23 changed files with 2070 additions and 13979 deletions
+16 -4
View File
@@ -1,22 +1,34 @@
export enum Keys {
ARROW_RIGHT = 'ArrowRight',
ARROW_LEFT = 'ArrowLeft',
P = 'p',
p = 'p',
s = 's',
r = 'r',
}
const downKeys: Partial<Record<Keys, boolean>> = {};
const pressedKeys: Partial<Record<Keys, boolean>> = {};
document.addEventListener('keydown', e => {
downKeys[e.key as Keys] = true;
});
document.addEventListener('keypress', e => {
pressedKeys[e.key as Keys] = true;
});
document.addEventListener('keyup', e => {
pressedKeys[e.key as Keys] = false;
downKeys[e.key as Keys] = false;
});
export const keyboard = {
pressedKeys,
pressedKeys: downKeys,
isKeyPressed(key: Keys): boolean {
return Boolean(pressedKeys[key]);
const isPressed = Boolean(pressedKeys[key]);
pressedKeys[key] = false;
return isPressed;
},
isKeyDown(key: Keys): boolean {
return Boolean(downKeys[key]);
},
};