public EvaluationInfo Eval(GameState gamestate) { //Set2PlyEvaluation(); SetGameState(gamestate); string s = Command("eval"); int start = s.IndexOf("static:") + "static:".Length; //"2 ply:") + "2 ply:".Length; int end = s.IndexOf('\r', start); s = s.Substring(start, end - start); string[] t = s.Trim().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); EvaluationInfo eval_info = new EvaluationInfo() { Win = double.Parse(t[0]), WinGammon = double.Parse(t[1]), WinBackgammon = double.Parse(t[2]), LoseGammon = double.Parse(t[3]), LoseBackgammon = double.Parse(t[4]) }; eval_info.Lose = 1.0 - eval_info.Win; //Set0PlyEvaluation(0.005); return(eval_info); }
public EvaluationInfo Eval(GameState gamestate) { //Set2PlyEvaluation(); SetGameState(gamestate); string s = Command("eval"); int start = s.IndexOf("static:") + "static:".Length;//"2 ply:") + "2 ply:".Length; int end = s.IndexOf('\r', start); s = s.Substring(start, end - start); string[] t = s.Trim().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); EvaluationInfo eval_info = new EvaluationInfo() { Win = double.Parse(t[0]), WinGammon = double.Parse(t[1]), WinBackgammon = double.Parse(t[2]), LoseGammon = double.Parse(t[3]), LoseBackgammon = double.Parse(t[4]) }; eval_info.Lose = 1.0 - eval_info.Win; //Set0PlyEvaluation(0.005); return eval_info; }