public void move()
    {
        GameObject head = createNewHead();
        if (head.x >= SnakeGame.WIDTH
                || head.y >= SnakeGame.HEIGHT
                || head.x < 0 || head.y < 0)
            isAlive = false;
        else {
            snakeParts.add(0, head);
            removeTail();
        }
    }

    public GameObject createNewHead()
    {
        GameObject sp;
        switch (direction)
        {
            case DOWN:
                sp = new GameObject(this.x,this.y +1);
                break;
            case LEFT:
                sp = new GameObject(this.x - 1,this.y);
                break;
            case UP:
                sp = new GameObject(this.x,this.y - 1);
                break;
            case RIGHT:
                sp = new GameObject(this.x + 1,this.y);
                break;
                default:
                    sp = null;
                    break;
        }
            return sp;
    }

    public void removeTail()
    {
        this.snakeParts.remove(this.snakeParts.size() - 1);
    }