2 - The rule is that the larger disks does not overlap the lower ... and the application blocks this possibility.
Thanks for the comments
Understand.. but the large disk is taken from above one that's larger than it.. so my suggestion is to allow the player to cancel the movement if she clicked again on the disk at the same original location. Just like computer chess.. one click on the piece selects it, another resets the selection.
I wrote this game in 1997 using QuickBasic 4.5 compiler.. when clicked on a disk it hovered above the column then you can either put it on another (bigger) disk or put it back on the same place.. I don't see here this function. (to put it back in case of a mistake)
Yet another point:
You put the first disk in column 2
You put the second disk in column 3
Then the application does not allow you to pick up the third disk from column 1.. I understand you can't put it in either columns because it's bigger than both, but you give the player the right to make a mistake.. let him pick it up but not put it down over any of the smaller two and play some error sounds until he put it back and try another solution. Now you are shielding the player from making a mistake.. in some way game is helping the player in the solution (partly)