Там нечего делать.
Например, двумерный массив. Положение одного блока фигуры в массиве - x и y. Время задержки между перемещениями - time.
y_offset = cell_height / time
где cell_height - высота клетки. Затем в месте отрисовки фигуры пиши что-то типа этого:
DrawImage LEFT + block.x * cell_width, TOP + block.y * cell_height + offset
offset = offset + y_offset
При перемещении в следующую клетку массива обнуляй offset.
Надеюсь, идея понятна.