I like this concept a lot. It’s a lot of fun to play.
If I move a unit and then move it back to its original square, it counts as multiple moves. I think it would be better if it returned the moves used to move it in the first place.
Not all of the reflected attacks are entirely intuitive. A knight hitting a rock, for example.
It’s not always clear why a move is invalid, and limiting what can be moved where sort of gives the player hints. I think it might be better if you could move units to any unoccupied square.