We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
基本的には、
RandomAgent (mjxproto::Agent)
ActiveGame
の間の子みたいな雰囲気で、
mjx
take_action(observation)
mjai
TcpClientGame
do_action
mjx のゲームクライアントは、同じポートの mjx.GrpcAgentClient をプレイヤー4人を使う。
mjx.GrpcAgentClient
class TransServer(mjx.Agent): def __init__(self): self.players = [] # 同じポートで、TcpClientGame4つと繋がっている self._mjx_event_history = [] self.new_mjai_actions = [] self.next_mjx_actions = [] # take_actionの返り値で返されるべき値。size = 4。プレイヤー毎にとるべきアクションが入っている。 def do_action(self): pass # 全く同じ実装 def step(self, new_event): # do_actionの呼ばれ方がActiveGame内で11パターンあったので、それらを模倣する if new_event.type == "xxx": pass elif new_event.type == "xxx" pass else: pass def update_next_actions(self, response): if response is None: return # do nothing else: # この中で各ユーザのアクションに対してmjaiのアクションからmjxのアクションへの変更関数を呼ぶ(ToMjxAction) pass def get_curr_player(self, observation): pass def observe(self, observation): # game id が連続しているかのassertionも加える # self._mjx_event_historyと照合して、self.mjai_new_actionsを更新する。mjaiのactionの方が種類が多い(ゲーム開始、局開始等) pass def take_action(self, observation): # mjx.Agentの関数を継承して実装 self.observe(observation) curr_player = self.get_curr_player(observation) response = none for mjai_action in self.mjai_new_actinos: response = self.do_action(mjai_action) self.next_mjx_actions = self.update_next_actions(response) return self.next_mjx_actions[curr_player]
The text was updated successfully, but these errors were encountered:
備忘録ポンチ絵
Sorry, something went wrong.
全体の方針 mjaiをimportして使えるところは使っていく。 protoのフォーマットが変わる可能性があるのでテストをしっかりと書く。
実装するもの
observe
difference
observation_to_mjai_actions
step
respond_to_action(action)
action_in_view(aciton)
updata_next_actions
MjaiActToMjxAct()
No branches or pull requests
基本的には、
RandomAgent (mjxproto::Agent)
ActiveGame
の間の子みたいな雰囲気で、
mjx
のゲームクライアントとの通信はtake_action(observation)
を通して行いmjai
のTcpClientGame
との通信をdo_action
を通して行う。mjx
のゲームクライアントは、同じポートのmjx.GrpcAgentClient
をプレイヤー4人を使う。The text was updated successfully, but these errors were encountered: