void CalculateBr_OnNodeBegin(StrategyTree tree, CalculateBrContext[] stack, int depth) { CalculateBrContext context = stack[depth]; Int64 n = context.NodeIdx; if (depth > 0) { context.IsBr = stack[depth - 1].IsBr; } if (tree.Nodes[n].IsPlayerAction(HeroPosition)) { // Hero made a move Int64 pn = stack[depth - 1].NodeIdx; if (tree.Nodes[n].Probab == tree.Nodes[pn].Probab && context.IsBr) { tree.Nodes[n].Probab = 1; tree.Nodes[pn].Probab = double.MinValue; context.IsBr = true; } else { context.IsBr = false; tree.Nodes[n].Probab = 0; } } }
void CalculateBr_OnNodeEnd(StrategyTree tree, CalculateBrContext[] stack, int depth) { CalculateBrContext context = stack[depth]; Int64 n = context.NodeIdx; if (tree.Nodes[n].IsDealerAction || tree.Nodes[n].Position != HeroPosition) { tree.Nodes[n].Probab = 0; } }