Esempio n. 1
0
        public static void Holdem_EstimateEV(out float checkCallEV, out float betRaiseEV, int buttonInd, int heroIndex, HoleCards heroHoleCards,
                                             List <Player> playerList, Board board, Street street, int numBets, int numCallers, int bigBlindSize, DecisionMakingContext dmContext)
        {
            Unmanaged_HoleCards uHoleCards = new Unmanaged_HoleCards(heroHoleCards);

            Unmanaged_Player[] players = new Unmanaged_Player[playerList.Count];

            for (int i = 0; i < playerList.Count; i++)
            {
                players[i] = new Unmanaged_Player(playerList[i], i);
            }

            Unmanaged_Card[] cards = BoardToUnmanaged(board);

            checkCallEV = 0.0f;
            betRaiseEV  = 0.0f;

            EstimateEV(ref checkCallEV, ref betRaiseEV, buttonInd, heroIndex, ref uHoleCards, players, playerList.Count, cards,
                       (int)street, numBets, numCallers, bigBlindSize, dmContext.GC);
        }
Esempio n. 2
0
 private static extern void EstimateEV(ref float checkCallEV, ref float betRaiseEV, int buttonInd, int heroIndex, ref Unmanaged_HoleCards heroHoleCards,
                                       [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] Unmanaged_Player[] players, int nPlayers,
                                       [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] Unmanaged_Card[] board,
                                       int street, int numBets, int numCallers, int bigBlindSize, IntPtr gc);