public void move(int xa, int ya) {
        if (xa != 0 && ya != 0) {
            move(xa, 0);
            move(0, ya);
            return;
        }

        //determine direction
        if (xa > 0) {
            dir = 1;
        } else if (xa < 0) {
            dir = 3;
        } else if (ya > 0) {
            dir = 2;
        } else if (ya < 0) {
            dir = 0;
        }


        if (!collision(xa, ya)) {
            x += xa;
            y += ya;
        }

    }