Mostly solved the getting-stuck-on-edges problem, by having the droplet go back and forth (duh). Need to check the signs in the change array for the rest of the directions.