'Play one episode for eval.
Args:
func: the policy function. Takes a state and returns an action.
stat: a key or list of keys in stats to return.
Returns:
the stat(s) after running this episode'

def play_one_episode(self, func, stat='score'):

    if (not isinstance(stat, list)):
        stat = [stat]
    while True:
        s = self.current_state()
        act = func(s)
        (r, isOver) = self.action(act)
        if isOver:
            s = [self.stats[k] for k in stat]
            self.reset_stat()
            return (s if (len(s) > 1) else s[0])
