Well, I figured out how to stop the pieces from switching with each other... to some degree. I've noticed that, as I build the project, more bugs keep popping up and taking a lot of my time to fix. Now the problem is that, instead of switching with each other, sometimes the puzzles pieces annihilate each other! I don't know how to stop this from happening, but it's something I'm going to have to fix. You can see in the pictures below that when I place the blue tile onto the placeholder (white dashed square), it snaps into place like it's supposed to; the red tile does the same. But when I remove the blue tile and try to place it on the red tile, instead of replacing the square it deletes it! When I remove the blue tile, the red tile is nowhere to be seen. This is not good. I can't have pieces of the puzzle go missing while students are trying to solve conversion problems.
So far, I really don't like using GameSalad. I keep getting lost when I try to find the appropriate layers in the code to add new commands. In regular programming environments, I can recognize the structure of the code by looking at the brackets (when programming in C) or the indents (in Python). With this, I have to keep track of which pieces of code belong to which groups of code, making it hard to "see" the structure. This is probably why I keep running into all these bugs.
Another thing I'm learning is that trying to make a game is a HUGE commitment. There are so many things that can go wrong. Fortunately, this is more about the learning process than about the result. So far, I've been learning how to plug holes in a plan and test my ideas from every angle conceivable. Relating this to teaching, I can see how being able to respond to "bugs" in a lesson plan and adapt to them at a moment's notice is an important skill.