实现定制迷你(较少正方形,较少棋子)棋盘5x5的代码

时间:2012-01-13 13:40:15

标签: c# java c++ chess

在java或c ++中甚至在c#中实现自定义迷你(较少正方形,较少棋子)棋盘的代码

我只想帮助做出最好的举动。我不需要任何图形界面。

enter image description here

输入将以

的形式给出
  

“rnkrrp P 点***** P P 的PRNKNR”

其中

  

典当:P

     

Rooks:R

     

骑士:N

     

King:K

这里小写字母代表黑色小块,大写字母代表白色小块,“*”代表空白方块

并输出

  

A2A3

如果最佳移动发生在

  

a2至a3

仅限申请。一举一动。

在这个中没有必要的界面,因为我们直接将输入作为字符串。

首先我开始理解java,c ++,c#中的8 * 8国际象棋棋盘编程,但在某些情况下我遇到了理解问题。

许多源代码看到的是尝试使用预定义的最佳移动列表进行移动。

并没有特别的想法来解决这个问题。我想建议开始这个并解决这个问题。

感谢。抱歉英语不好

1 个答案:

答案 0 :(得分:4)

你需要研究alpha beta pruning works的方式。关于国际象棋编程的文献很多,我建议你开始from here。作为一个很小的例子,look at my project here。我指出了一个文件,它是一个寻找最佳动作的测试。我的引擎没有经过优化,但很简单需要了解它的工作原理。你不介意使用简化键盘,算法就像你创建一个合适的移动生成器和键盘评估器(通常是物质值)一样。