Player's canSwap function now does its own bounds checking.