add self.game_phase. add mouse_over_board()