public string ShowZetHistory(Zet zet) { if (zet == null) { return("geen zet meer"); } int savPly = this.maxPly; int savCount = this.count; int savBestEval = this.bestEval; bool kleur = zet.van.stuk.kleur; Zet[] zetten = new Zet[this.maxPly]; string result = "Zetten: "; zetten[0] = zet.Clone(); debug = false; for (int i = 1; i <= savPly; i++) { bord.VoerUit(zet); if (zet.mat || i == savPly) { break; } this.maxPly = savPly - i; kleur = !kleur; zet = this.BedenkBesteZet(kleur); if (zet == null) { break; } zetten[i] = zet.Clone(); } for (int i = 0; i < savPly; i++) { result += String.Format("{0} ", zetten[i]); if (zetten[savPly - i - 1] != null) { bord.Herstel(zetten[savPly - i - 1]); } } //result += "eval: " + bestEval.ToString(); result += "eval: " + savBestEval.ToString(); //V125 this.maxPly = savPly; this.count = savCount; this.bestEval = savBestEval; this.debug = true; zet = zetten[0]; result = result.Trim(); Console.WriteLine(result); return(result); }
private string ShowZetHistory(Zet zet) { int savPly = computer.maxPly; int savCount = computer.count; int savBestEval = computer.bestEval; bool kleur = zet.van.stuk.kleur; Zet[] zetten = new Zet[computer.maxPly]; string result = "Zetten: "; zetten[0] = zet.Clone(); for (int i = 1; i <= savPly; i++) { bord.VoerUit(zet); //bord.Show(); if (zet.mat || i == savPly) { break; } computer.maxPly = savPly - i; kleur = !kleur; zet = computer.BedenkBesteZet(kleur); zetten[i] = zet.Clone(); } for (int i = 0; i < savPly; i++) { result += String.Format("{0} ", zetten[i]); if (zetten[savPly - i - 1] != null) { bord.Herstel(zetten[savPly - i - 1]); } } computer.maxPly = savPly; computer.count = savCount; computer.bestEval = savBestEval; zet = zetten[0]; result = result.Trim(); Console.WriteLine(result); return(result); }