- if _is_grid_position_taken(new_player_position):
- # if movement is vertical and blocked, then we're done
- if v.y != 0:
- _end_round()
- return
+ # for each cell in the block, offset it by new position and check for collision
+ for pos: Vector2i in _player_piece.get_cell_grid():
+ pos += new_player_position
+ if pos.x < 0 or pos.x >= _grid_final_x_row:
+ # ignore input that moves beyond lateral boundaries
+ return