public boolean collision(int xa, int ya) {
        boolean solid = false;
        for (int c = 0; c < 4; c++) {
            int xt = ((x + xa) + (((c % 2) * 17) + 7)) >> 5;
            int yt = ((y + ya) + (((c / 2) * 16) + 8)) >> 5;

            if (loadLevel.getTile(xt, yt).solid()) {
                solid = true;
            }
            if (solid) {
                walking = true;
            }
            if (loadLevel.getTile(xt, yt) == Tile.finish) {
                won = 2;
            }
        }

        return solid;
    }