Simulate Tetris: determine how far a falling module can go when blocked by blocks below.
Implement drop_distance(board, module, row, col). board is a list of equal-length strings, where # is occupied and . is empty. module contains relative [row, col] cells, and (row, col) is its initial top-left anchor. Return the greatest nonnegative number of rows the module can move downward without leaving the board or overlapping a block. If its initial placement is invalid, return 0.
def drop_distance(board, module, row, col):