This project demonstrates how to make walls a sprite will not pass through. A sprite can't sense that she is about to hit a wall--she can only realize that she has hit a wall. So the trick is to allow sprites to move, then check whether they have hit the wall. If they have, "undo" the move by having the sprite move back the same distance. In this project, I wrapped that functionality into new blocks called "Change y by [amount] unless there is a wall" and another for x. This lets me do the rest of the programming without worrying about enforcing the "no going through walls" rule.