我想用 c# 开发一个多人国际象棋,但我不知道如何用 c# 实现国际象棋的限制规则,老实说,我一生中从来没有做过一点游戏编程,所以我不知道如何在这个领域工作。
有没有简单的国际象棋程序源代码示例?坦率地说,我没有成功搜索国际象棋源代码或如何在国际象棋中实现移动规则。
所以如果你认为你可以帮助我,那将不胜感激。
问候。
这是 Bing.com 搜索“programming chess”的第一个结果:
https://www.chessprogramming.org/Main_Page
它似乎涵盖了所有基础,对于玩家与玩家或玩家与计算机。
国际象棋是一项复杂的游戏。如果您不熟悉编程或此类编程,我可能会建议您从类似但更简单的东西开始(想到跳棋)。通过这种方式,您可以快速获得一些工作并学习基础知识(例如表示棋盘、移动棋子等),而不会因与国际象棋的所有细节相关的头痛而受苦。
将棋盘想象成具有行和列的二维数组,它由 64 个正方形组成,因此您有 8 * 8。这就是您的程序的基础。接下来你必须考虑的是碎片,以及碎片背后的规则。此外,马、兵、后等的合法走法是什么?
如果您将其全部分解成更小的 tid 位,这并不复杂,但我从未编写过这样的动物 :)。规则实际上可以存储在某种资源文件或数据库中。您只需检查在阵列上进行的移动是否是有效的移动。如果允许,否则不允许。
这只是一个小小的开始……
我会从这里开始。
首先是创建一个国际象棋引擎。从那里开始,其余代码实际上应该自己编写。