Add global variable class
fix the shift bug for certain orientation and make sure blobs will not overlap
finish blob shifting, map rotation, and fall during shifting