在这里他并不要求能够取胜,只是要求take a piece if possible.那就好办多了,你只要找到所有的legal movement。在这些movement里,只要某一个destination的空格内有对手的棋子,就走这一步。具体做可以remove自己的棋子(e.g.马)然后把对手的棋子(e.g.相)替换成自己的棋子(马)。以此类推,这是我的理解。
如果要求最佳步骤,那就复杂了,要我做就用prolog写code(code简单直接),用MINIMAX search找出最佳步骤(或在十步以内的最佳步骤)。(由于是chess,计算需要很长时间,而且可能需要用heuristic algorithms)写完后再把prolog翻译成java。
我的理解
所有跟帖:
•
看看这个。我以前写Chess的时候老师只要求人对人就可以了。
-yanon-
♂
(220 bytes)
()
10/31/2004 postreply
00:06:47