10得票6回答
Java编程 - 国际象棋移动(基本,无人工智能)

我需要在设计国际象棋游戏方面寻求帮助。我已经开始着手编写,但由于我对Java和编程都很陌生,所以进展并不顺利。 无论如何,我有一个抽象类Piece和各种棋子作为其子类。我有一个movePiece方法在我的抽象类中,我想为所有子类定义这个方法。 目前它只是将棋子从一个方格移动到另一个方格。我...

10得票3回答
棋子未来的移动方式

我正在使用C#开发一款国际象棋引擎,但在编写代码以确定任何给定棋子在1、2和3步内的未来移动时遇到了一些问题。基本想法是奖励具有更高移动性的棋子,并处罚那些移动性较差的棋子。 棋盘由一个包含64个方格的数组表示,从0(a8)到63(h1),例如: Piece[] _chessboard =...

10得票7回答
确定两个国际象棋局面是否相等。

我正在调试一个棋类变体引擎的转置表,其中棋子可以放置(即原本不在棋盘上)。我需要知道我有多少次键冲突。我在每个表索引中保存棋子列表,以及通常的哈希数据。我的简单解决方案用于确定两个位置是否相等,但由于我正在线性比较两个棋子列表,因此在转置时会失败。 请不要建议我应该按照面向棋盘而不是面向棋子...

10得票1回答
JavaScript象棋符号转换函数

我正在寻找一个JavaScript库,可以将包含棋子和目的地移动符号的PGN文件转换为其他格式。... 3. cxd5 Qxd5 ... 只使用平方坐标进行记号,例如:... 3. c4-d5 h5-d5 ... 如果没有库,那么要使这个程序非常可靠会需要相当多的工作,因为它必须遍历每一步,验...

10得票4回答
从Python的PGN文件中提取棋谱信息

我该如何在Python中从pgn文件中提取棋谱信息?作为一个编程新手,任何帮助都将不胜感激。

9得票4回答
在Eclipse中使用Java显示国际标准码编码的棋子

我想在Java中使用Eclipse显示一些Unicode象棋符号,但它只打印出随机的矩形,除非国际象棋棋子最近发生了根本性的变化 - 我不认为这是我想要的。非常感谢您的帮助! 我的代码: import java.io.PrintStream; import java.io.Unsuppor...

9得票1回答
不理解位棋盘技术在国际象棋棋盘上的运作方式

我尝试理解这个位棋盘技术的机制,但感觉头脑冒烟。为了简化问题,我们可以想象一个只有两种棋子和一行8个位置的游戏,而不是象棋和复杂的棋子移动。其中一种棋子是三角形,另一种是圆形,如下图所示: ┌───┬───┬───┬───┬───┬───┬───┬───┐ │ │ │ ▲ │ │...

9得票5回答
免费的JavaScript棋盘

有人能推荐一个自由开源的JavaScript棋盘吗? 我的计划是将其与一些服务器端Python代码连接起来,最可能的是使用flask web框架。 我需要一个非常简单的功能集: 通过服务器端脚本生成HTML代码时,展示棋盘上的位置(不仅仅是初始位置)。该位置可以存储在一个列表中(以模拟二维数...

9得票15回答
在线国际象棋游戏中如何防止作弊?

在许多在线国际象棋大厅中,我见过“作弊引擎”的实例,即作弊者会在主游戏窗口同时打开一个国际象棋程序。然后,他会设置程序,以便将对手的走法传输到计算机上,然后他会复制计算机的走法,直到他(几乎总是)获胜。 作为游戏开发者和管理员,对于这种情况应该怎么办呢?

9得票1回答
Java棋类合法走法生成库

我希望您能提供一个与国际象棋合法走法相关的API,最好是使用Java语言。我可以自己编写代码实现此功能,但这种方法过于简单且速度较慢。因此,我需要一个可用的库,允许执行以下操作: Board board = new Board(); board.reset(); board.isMoveLe...