Snake

by Robodude

HTML

<canvas id="canvas" Width="400" Height="300"></canvas>

CSS

canvas
{
    border: 1px solid black;
}

JavaScript

$(document).ready(function () {

        var canvas = document.getElementById("canvas");
        var ctx = canvas.getContext("2d");

        window.addEventListener('keydown', doKeyDown, true);

        var canvasXmin = 0;
        var canvasYmin = 0;
        var canvasXmax = 400; //$("#canvas").width();
        var canvasYmax = 300; //$("#canvas").height();

        var GameSpeed = 50;

        var playing = false;

        var Snake;

        var Targets = [];

        var Buffs = [];
        var Nerfs = [];
        var Walls = [];



        Init();


        function doKeyDown(evt) {
            switch (evt.keyCode) {
                case 38:  /* Up arrow was pressed */
                    MoveUp();
                    break;
                case 40:  /* Down arrow was pressed */
                    MoveDown();
                    break;
                case 37:  /* Left arrow was pressed */
                    MoveLeft();
                    break;
                case 39:  /* Right arrow was pressed */
                    MoveRight();
                    break;
                case 83: /* 's' */
                    StopMoving();
                    break;
                case 65: /* 'a' */
                    UpdateScore(1);
                    CreateSnakeTailSegment();
                    break;
                case 81: /* 'q' */
                    CreateTarget();
                    break;
                case 87: /* 'w' */
                    playing = true;
                    break;
            }
        }

        function StopMoving() {
            Snake.Ydir = 0;
            Snake.Xdir = 0;
        }

        function MoveUp() {
            if (Snake.Ydir != 1) {
                Snake.Ydir = -1;
                Snake.Xdir = 0;
            }
        }

        function MoveDown() {
            if (Snake.Ydir != -1) {
                Snake.Ydir = 1;
                Snake.Xdir = 0;
            }
        }

        function MoveLeft() {
            if...