Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • user
  • html
  • adding-powerups
  • Gameclass
  • adding-win-condition
  • adding-multiple-players
  • adding-the-bombs
  • Adding-the-Bomberman
  • transferred-most-of-the-game-logic
  • Database
  • handlebars-maks
  • Canvas-and-game-logic-frame
13 results

input.js

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    input.js 1.98 KiB
    const KEY_UP_ARROW = 38;
    const KEY_RIGHT_ARROW = 39;
    const KEY_DOWN_ARROW = 40;
    const KEY_LEFT_ARROW = 37;
    const KEY_SPACE_BAR = 32;
    
    const KEY_W = 87;
    const KEY_S = 83;
    const KEY_A = 65;
    const KEY_D = 68;
    const KEY_E = 69;
    
    const KEY_I = 73;
    const KEY_J = 74;
    const KEY_K = 75;
    const KEY_L = 76;
    const KEY_O = 79;
    
    const KEY_T = 84;
    const KEY_F = 70;
    const KEY_G = 71;
    const KEY_H = 72;
    const KEY_Z = 90;
    
    function inputInit(){
        document.addEventListener("keydown", keyPressed);
        document.addEventListener("keyup", keyReleased);
        p1.setupControls(KEY_UP_ARROW, KEY_RIGHT_ARROW, KEY_DOWN_ARROW, KEY_LEFT_ARROW, KEY_SPACE_BAR);
        p3.setupControls(KEY_W, KEY_D, KEY_S, KEY_A, KEY_E);
        p4.setupControls(KEY_I, KEY_L, KEY_K, KEY_J, KEY_O);
        p2.setupControls(KEY_T, KEY_H, KEY_G, KEY_F, KEY_Z);
        
    }
    
    function keyPressed(evt){
        checkBombPlacement(evt.keyCode, p1);
        checkBombPlacement(evt.keyCode, p2);
        checkBombPlacement(evt.keyCode, p3);
        checkBombPlacement(evt.keyCode, p4);
        SetKeyHoldState(evt.keyCode, p1, true);
        SetKeyHoldState(evt.keyCode, p2, true);
        SetKeyHoldState(evt.keyCode, p3, true);
        SetKeyHoldState(evt.keyCode, p4, true);
        evt.preventDefault();
        }
        
    
    
    function keyReleased(evt){
        SetKeyHoldState(evt.keyCode, p1, false);
        SetKeyHoldState(evt.keyCode, p2, false);
        SetKeyHoldState(evt.keyCode, p3, false);
        SetKeyHoldState(evt.keyCode, p4, false);
    }
    
    function SetKeyHoldState(thisKey, thisPlayer, setTo){
        if(thisKey == thisPlayer.controlKeyForNorth){
            thisPlayer.keyPressed_North = setTo;
        }
        if(thisKey == thisPlayer.controlKeyForEast){
            thisPlayer.keyPressed_East = setTo;
        }
        if(thisKey == thisPlayer.controlKeyForSouth){
            thisPlayer.keyPressed_South = setTo;
        }
        if(thisKey == thisPlayer.controlKeyForWest){
            thisPlayer.keyPressed_West = setTo;
        }
    }
    
    function checkBombPlacement(thisKey, thisPlayer) {
        if(thisKey == thisPlayer.controlKeyForBomb) {
            thisPlayer.putBomb();
        }
    }