mjx-project / mjx_mjai_translater

Translation server between mjx and mjai protocols
MIT License
2 stars 0 forks source link

リーチ後再度リーチのactionが送られてきている。 #132

Closed nissymori closed 3 years ago

nissymori commented 3 years ago

resolve #130 #129 #128 #114 #92

nissymori commented 3 years ago
スクリーンショット 2021-11-15 19 24 06 スクリーンショット 2021-11-15 19 24 50

reach_acceptedが届いていない。

nissymori commented 3 years ago

検証の結果 問題1 reach_acceptedrespond_to_actionでmjai側に送られていない

 if action.type == :reach_accepted
    p "reach_accepted_action_in_view_respond_to_action"
    p action
    p action.to_json()
    p "action.to_jsonを表示しました。"
  end
  #puts("server -> player %d\t%s" % [self.id, action.to_json()])
  @socket.puts(action.to_json())
  line = nil
  if action.type == :reach_accepted
    p "reach_accepted_action_in_view_respond_to_action_2"
  end

"reach_accepted_action_in_view_respond_to_action" は出力されているが、 "action.to_jsonを表示しました。", "reach_accepted_action_in_view_respond_to_action_2"は出力されない。

このことから、action.to_jsonがbugっている?→単体のテストは通っている。

nissymori commented 3 years ago

問題2

スクリーンショット 2021-11-15 21 30 24

RIICHI_TEN_CHANGEを含むobservationに対してactionを返していないのに、次のobservationが送られてきている。

nissymori commented 3 years ago

検証の結果 問題1 reach_acceptedrespond_to_actionでmjai側に送られていない

 if action.type == :reach_accepted
    p "reach_accepted_action_in_view_respond_to_action"
    p action
    p action.to_json()
    p "action.to_jsonを表示しました。"
  end
  #puts("server -> player %d\t%s" % [self.id, action.to_json()])
  @socket.puts(action.to_json())
  line = nil
  if action.type == :reach_accepted
    p "reach_accepted_action_in_view_respond_to_action_2"
  end

"reach_accepted_action_in_view_respond_to_action" は出力されているが、 "action.to_jsonを表示しました。", "reach_accepted_action_in_view_respond_to_action_2"は出力されない。

このことから、action.to_jsonがbugっている?→単体のテストは通っている。

同じことがryukyokuでも起こっている。

nissymori commented 3 years ago

TODO

nissymori commented 3 years ago

原因判明 どちらのcaseもprotobufのGoogle::Protobuf::RepeatedFieldをそのまま使っていたのでbugっていた。

修正後tsumogiri-playerでは連続で試合ができるようになった。

nissymori commented 3 years ago

@sotetsuk 上記のようにbug修正できました。 問題なければmergeします!

sotetsuk commented 3 years ago

ありがとうございます!マージして下さいー@nissymori

nissymori commented 3 years ago

@sotetsuk レビューありがとうございます! 了解です!