在java或c ++中甚至在c#中实现自定义迷你(较少正方形,较少棋子)棋盘的代码
我只想帮助做出最好的举动。我不需要任何图形界面。
输入将以
的形式给出“rnkrrp P 点***** P P 的PRNKNR”
其中
典当:P
Rooks:R
骑士:N
King:K
这里小写字母代表黑色小块,大写字母代表白色小块,“*”代表空白方块
并输出
A2A3
如果最佳移动发生在
a2至a3
仅限申请。一举一动。
在这个中没有必要的界面,因为我们直接将输入作为字符串。
首先我开始理解java,c ++,c#中的8 * 8国际象棋棋盘编程,但在某些情况下我遇到了理解问题。
许多源代码看到的是尝试使用预定义的最佳移动列表进行移动。
并没有特别的想法来解决这个问题。我想建议开始这个并解决这个问题。
感谢。抱歉英语不好
答案 0 :(得分:4)
你需要研究alpha beta pruning works的方式。关于国际象棋编程的文献很多,我建议你开始from here。作为一个很小的例子,look at my project here。我指出了一个文件,它是一个寻找最佳动作的测试。我的引擎没有经过优化,但很简单需要了解它的工作原理。你不介意使用简化键盘,算法就像你创建一个合适的移动生成器和键盘评估器(通常是物质值)一样。