Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何声明其位置导致棋盘对象更新并将棋子存储在给定位置的棋子_Java_Object_Location_Chess - Fatal编程技术网

Java 如何声明其位置导致棋盘对象更新并将棋子存储在给定位置的棋子

Java 如何声明其位置导致棋盘对象更新并将棋子存储在给定位置的棋子,java,object,location,chess,Java,Object,Location,Chess,如果我正在设计一个简单的国际象棋游戏代码,并且我已经创建了我的棋盘布局, 我想知道我是如何实现棋子(P,P,R,R,N,N,B,B,Q,Q,K,K)(大写代表白色棋子,小写代表黑色棋子)以便棋盘对象更新以将棋子存储在输入的位置 我应该将这些片段声明为实例变量吗? 还是我应该把它们全部申报 至于用户输入一个已经被占用的位置,我完全不知道如何将其转换为代码 但是,我确实实现了代码的一部分,如果用户的输入超出电路板范围,则会显示错误消息 (顺便说一句,这些都是用java编写的) 任何帮助都将不胜感激!

如果我正在设计一个简单的国际象棋游戏代码,并且我已经创建了我的棋盘布局, 我想知道我是如何实现棋子
(P,P,R,R,N,N,B,B,Q,Q,K,K)
(大写代表白色棋子,小写代表黑色棋子)以便棋盘对象更新以将棋子存储在输入的位置

我应该将这些片段声明为实例变量吗? 还是我应该把它们全部申报

至于用户输入一个已经被占用的位置,我完全不知道如何将其转换为代码

但是,我确实实现了代码的一部分,如果用户的输入超出电路板范围,则会显示错误消息

(顺便说一句,这些都是用java编写的)

任何帮助都将不胜感激!!提前谢谢!如果看到我的一些代码会有所帮助,请告诉我。

几年前,我在一次求职面试中“实施”了一个象棋游戏。每个片段都是一个实例变量,并有一个move()方法来确定片段的合法移动。棋盘包含所有棋子的位置信息,棋子在确定其合法移动时会询问棋盘(例如,棋子会询问棋盘,查看是否有任何对角位置的相对棋子可以捕获)
Piece
是一个抽象类(棋盘上包含一个由
Piece
对象组成的网格),并且
Pawn
Knight
等扩展了
Piece


如果您需要实现顺便,那么您可能需要一个单独的规则引擎,棋子可以查询其合法移动-棋子将是无状态的,规则引擎将携带确定棋子是否可以通过顺便捕获所需的状态信息,或者,如果一个平局是由于三步重复而生效的。

另请参见此和。
大写字母表示白色方块上的碎片,小写字母表示黑色方块上的碎片
没有意义。也许你的意思是“大写代表白人玩家的棋子,小写代表黑人玩家的棋子”。否则,我不认为根据作品的位置改变作品的表现形式是一个好主意。对不起,我指的是黑白作品,而不是正方形,我的错误开始编码。当你走到一半的时候,扔掉它,重新开始。这是唯一的办法。@Adel,我的错,我一做就看到了,把我自己的编辑滚回你的。