This week I have been designing and thinking about poker logic and stack/pot-size logic on paper. Then I met up with Pat on Saturday to integrate these logics into the actual GST and UI. I uploaded the drawing and examples below. We keep track of the player order in a list and update it after each action. The first player in the list is always the current player to act, so instead of explicitly tracking who the big blind, small blind and dealer are, we simply imply those positions in the list to simply things. For updating bet size, and pot size, our plan is to have a bet_list as an attribute in each player class. With this list, we can update player’s stack size and pot size in real time instead of updating them after each round.
Pat and I got a lot done in terms of integrating the most important part of the poker logic this weekend. There are more pictures from the actual UI in Pat’s posts. Next step we just have to implement stack/pot size logic which shouldn’t be too bad because I have a concrete plan on paper and we already did the player order logic. Last part would be rotating the servo. Since we already set up the serial communication between GST and Arduino, We will just hardcode the angle for each player and send that information to servo every time the player order list changes.
Attached below is handwritten notes of poker GST logic and potsize/stack logic. Apologies for the messy handwriting.