class Controls{ constructor(type){ this.forward=false; this.left=false; this.right=false; this.reverse=false; switch(type){ case "KEYS": this.#addKeyboardListeners(); break; case "DUMMY": this.forward=true; break; } } #addKeyboardListeners(){ document.onkeydown=(event)=>{ switch(event.key){ case "ArrowLeft": this.left=true; break; case "ArrowRight": this.right=true; break; case "ArrowUp": this.forward=true; break; case "ArrowDown": this.reverse=true; break; } } document.onkeyup=(event)=>{ switch(event.key){ case "ArrowLeft": this.left=false; break; case "ArrowRight": this.right=false; break; case "ArrowUp": this.forward=false; break; case "ArrowDown": this.reverse=false; break; } } } }