Changed the play() method to output an updated copy of the board instead of mutating in place