I have game where a small monster is fooling around between
some small houses. He should not be capable to walk trough the
houses and because of that I use intersects to avoid the different
sprites where the buildings are. But every sprite who is downwards
the middle of the sceen, he can walk trough, not from sides just
from the top. Why?
I assume that sprite(3) is the monster and sprite(2) is the
house. If this is the case then it would seem that is the monster
"attacks" the house either from the left or top, he will then be
moved even further into the house. This will continue until the
monster is exits to the south east.
The problem is the +5 you have on the end of each of those
lines of code.
What you want to do is capture the monsters location FIRST,
then try and move him in whatever direction he is walking. If that
results in an intersect, then move him back to the captured
location and pick a new direction.