js1k

by path411

HTML

<canvas id="c"></canvas>
<script>
    var b = document.body;
    var c = document.getElementsByTagName('canvas')[0];
    var a = c.getContext('2d');
    document.body.clientWidth;
</script>

JavaScript

var mx = 0;
var my = 0;
var cx = 150;
var cy = 50;
c.style.cursor='none';
var keydown = {
    w:0,
    a:0,
    s:0,
    d:0
};

function main() {
    bindevents();
    draw();
}
function bindevents() {
    b.addEventListener('mousemove', function(e) {
        mx = e.clientX;
        my = e.clientY;       

    }, false);
    b.addEventListener('keydown', function(e) {
        keydown = e.keyCode;
        kdcount++;
    }, false);
    b.addEventListener('keyup', function(e) {
        kdcount--;
        if(kdcount == 0) keydown = 0;
    }, false);
}
window.setInterval(loop, 16)
function loop() {
    update();
    draw();
}

function update() {
    cx += (keydown == 68) && 1 || keydown == 65 && -1 || 0;
    cy += (keydown == 83) && 1 || keydown == 87 && -1 || 0;
}

function draw() {
    clear();
    drawman();
    drawaim();
}
function clear() {
     c.width=c.width;
}
function drawman() {

    a.fillStyle  = "red";
    a.fillRect(cx, cy, 8, 8);
}
function drawaim() {

     a.fillStyle = 'black';
    a.fillRect(mx, my, 5, 5);
}


main();