There should be the ability to say, when variable one's number reaches a certain amount you can set something like play sound or move 10 steps or pen down or anything like that. Scratch also needs an easy setting to make sprites not pas through each other, in other words, make things solid.
Offline
First problem's solution:
{When green flag clicked} Forever: |If (Variable)=(Value) ||[Broadcast [Reached]] {When I receive [Reached]} |[Pen down] // or whatever
Second:
{When green flag clicked} Forever: |If <Touching [solid sprite]> ||[set [CANMOVE] to [1]] |else ||[set [CANMOVE] to [0]]
Then, instead of
[Move (10) steps]
Use
if (CANMOVE=1) |[Move (10) steps]
Offline