rewards = tuple(0 for _ in range(n_players)) done = False if h == 3 or s_new.turn == 1: next_player = (player + 1) % n_players s_new.turn = 0 else: next_player = player s_new.turn = 1 message = f"{player_symbols[player]} {reward_type} " \ f"with reward {rewards[player]}" if render: render_(s_new) return EnvOutput(s_new, rewards, done, next_player, message) ttt_env = Env( name=env_name, n_agents=n_players, n_actions=n_actions, init_state=lambda: (init_state, 0), model=model, state_utils=Env.StateUtils( hash=_hash, get_actions=get_actions, get_symmetries=lambda s, a: board.get_symmetries_4( s, a, wrapper=lambda na: replace(s, array=na)), render_=render_), agent_symbols=player_symbols, cli_agent=board.get_actor, )
if not any(s_new.array == -1): reward_type = 'draw' rewards = rewards_all(0) done = True else: reward_type = 'still_in_game' rewards = tuple(0 for _ in range(n_players)) done = False next_player = (player + 1) % n_players message = f"{player_symbols[player]} {reward_type} " \ f"with reward {rewards[player]}" if render: render_(s_new) return EnvOutput(s_new, rewards, done, next_player, message) wuziqi_env = Env(name=env_name, n_agents=n_players, n_actions=n_actions, init_state=lambda: (init_state, 0), model=model, state_utils=Env.StateUtils( hash=_hash, get_actions=get_actions, get_symmetries=lambda s, a: board.get_symmetries_4( s, a, wrapper=StateWZQ), render_=render_), agent_symbols=player_symbols, cli_agent=board.get_actor, web_agent=WebAgent(h, h).get_actor)
actions = get_actions(s, ag_id) grid_w = 2 + round(np.log10(self.w)) fmt = f"{{: ^{grid_w}}}" print(" ", end='') for i in range(w): if i in actions: s = str(array[i]) else: s = 'то╛' print("|" + fmt.format(s), end='') print("|") i = int(input("Enter your next move as position number:")) return i return _actor conn4_env = Env( name=env_name, n_agents=n_players, n_actions=n_actions, init_state=lambda: (init_state, 0), model=model, state_utils=Env.StateUtils(hash=_hash, get_actions=get_actions, get_symmetries=get_symmetries, render_=render_), agent_symbols=player_symbols, cli_agent=Conn4CliAgent(h, w).get_actor, )