I think the home study minigame would be better if the blocks snapped into place when close to being aligned. The way it is now, it's possible for a block to end up a couple pixels off, meaning it stops other blocks but without being obvious about it.
Feel free to ignore me if you're already satisfied with it. However, if you'd like to try my suggestion but aren't sure how to code it, here's a quick and dirty way:
step 1. add this code in the label home_study_start, before the jump:
$block_snap_x = [125, 277, 427, 578, 882, 1033]
$block_snap_y = [87, 237, 390, 540, 692, 843]
step 2. add this code in the block_events() function, right before "block.initial_pos = [block.x, block.y]":
for x in block_snap_x:
if block.x - 35 < x < block.x + 35:
block.x = x
break
for y in block_snap_y:
if block.y - 35 < y < block.y + 35:
block.y = y
break