philosucker / Text_Holdem

Texas Holdem Application with AI agents
Apache License 2.0
3 stars 0 forks source link

[07.02.2024] 기존 사이드팟 생성 및 관리 로직 문제점 발견 #6

Open philosucker opened 2 months ago

philosucker commented 2 months ago

_multi_pots() 사이드팟 생성 및 관리 함수 구현 오류

문제1 : 기존 multi_pots 함수는 올인 "발생시마다" 호출됨

문제2: 기존 multi_pots 함수는 올인 "발생 직후" 호출됨 이에 따라 올인 발생 직후 start_order가 재정렬 될 때 자신의 올인에 대해 아직 어떤 액션을 할지 결정되지 않은 상대방들의 최근 마지막 액션을 기준으로 지분을 계산함

philosucker commented 2 months ago

문제1, 문제2 해법: multi_pots 함수 호출 위치를 해당 스트릿이 종료되기 직전으로 바꾼다 유저들의 액션이 모두 끝난 후 마지막으로 한 액션에 대해서만 올인 유저들의 팟 지분 계산을 수행한다

추가적으로 _multi_pot 함수 호출 직전 _update_pot 함수를 구현해 호출되게 함으로써 해당 스트릿까지 누적된 팟의 총합을 업데이트 한다. 이 총합과, 올인 유저의 해당 스트릿 에서의 팟 지분을 더하면 올인 유저가 그 핸드의 어떤 스트릿에서 승리하게 되든 정당한 팟 지분을 요구할 수 있게 된다