Draw Square

by Nathan Piper

HTML

<body>
    <canvas id='game' height=400 width=400 align='center' style='border: 1px solid black'> </canvas>
    
</body>

JavaScript

var width = 400 ;
var height = 400;

var FPS = 60;

var canvas = document.getElementById('game');
var g = canvas.getContext('2d');

var x = 50;
var y = 50;

var player = { //the player object
    x: 50,
    y: 50,
    speed: 5,
    tick: function() {
        if(Key.up && this.y > 0) this.y -= this.speed;
        if(Key.down && this.y < height-8) this.y += this.speed;
        if(Key.left && this.x > 0) this.x -= this.speed;
        if(Key.right && this.x < width-8) this.x += this.speed;
  },
    render: function () {
        g.fillRect(this.x, this.y, 8, 8);
}
    

};

var Key = {
    up: false,
    down: false,
    left: false,
    right: false
};

addEventListener("keydown", function (e) { 
    var keyCode = (e.keyCode) ? e.keyCode: e.which;
    switch(keyCode){
        case 38: //up
            Key.up = true;
            break;
                case 40: //down
            Key.down = true;
            break;
                case 37:  //left
            Key.left = true;
            break;
                case 39:  //right
            Key.right = true;
            break;
          }
}, false);
addEventListener("keyup", function (e) {var keyCode = (e.keyCode) ? e.keyCode: e.which;
    switch(keyCode){
        case 38: //up
            Key.up = false;
            break;
                case 40: //down
            Key.down = false;
            break;
                case 37:  //left
            Key.left = false;
            break;
                case 39:  //right
            Key.right = false;
            break;
             } 
 }, false);


function render () { // render object to canvas
     player.render();
}

function tick () { //update
    player.tick();
}

setInterval(function () { //frames per second
    render();
    tick();
}, 1000/FPS);