如何将数组索引转换为车和象棋棋子的可能移动

谢娜丽德

我正在努力解决如何将二维数组中的索引号转换为车和象移动的可能移动。我想得到一个布尔表达式来查看移动是否合法。抱歉,我是编程新手,非常感谢您的帮助

对于车,我有

if(Math.abs(xTo-xFrom)>1 &&. Math.abs(yTo-yFrom)==0){ }
jbx

车水平和垂直移动。所以要么x坐标改变而y保持不变,要么y坐标改变而x坐标保持不变。

if ((xFrom != xTo) && (yFrom == yTo) || (xFrom == xTo) && (yFrom != yTo))

或者,您可以使用异或(XOR),这与上面的内容基本相同,只是更简洁。

if ((xFrom != xTo) ^ (yFrom != yTo))

如果其中之一为真,则 XOR 返回真,但不是两者都为真。

请记住,车还有与国王的特殊城堡移动,您需要根据游戏状态(车和国王都没有移动,国王没有受到控制等)来迎合。

象对角线移动,所以 xFrom 和 xTo 之间的差异必须与 yFrom 和 yTo 之间的差异在两个方向上相同。

所以这应该对主教有用:

if (Math.abs(xTo - xFrom) == Math.abs(yTo - yFrom))

当然,Rook 和 Bishop 的内容还有很多。你必须确保直到目的地坐标的路径是畅通的,你必须确保目的地坐标没有被同一玩家的一块占据,你必须检查这个动作没有把王检查中的同一玩家(无论如何,您必须为任何棋子移动做)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将索引数组转换为关联数组?

来自分类Dev

如何将.pgn文件格式的国际象棋移动文件批量转换为.bin文件格式?

来自分类Dev

我们如何将.pgn 文件格式的国际象棋移动文件批量转换为.bin 文件格式?

来自分类Dev

如何将索引转换为列表?

来自分类Dev

我如何将数组转换为哈希,其键是数组值,而值是数组的索引

来自分类Dev

如何将此数组转换为具有索引和值的数组

来自分类Dev

如何将数组的数字索引转换为关联数组

来自分类Dev

如何将数字索引数组转换为关联数组

来自分类Dev

如何将 PHP 多维关联数组转换为更简单的索引数组

来自分类Dev

如何将参数转换为数组

来自分类Dev

如何将csv转换为数组

来自分类Dev

如何将数组转换为ListIterator?

来自分类Dev

如何将数组转换为元组?

来自分类Dev

如何将数组转换为列表?

来自分类Dev

如何将数组转换为对象

来自分类Dev

如何将数组转换为IEnuramble

来自分类Dev

如何将“枚举”转换为数组

来自分类Dev

如何将数组转换为JSON

来自分类Dev

如何将字典转换为数组

来自分类Dev

如何将数组转换为多维

来自分类Dev

如何将数组转换为集合

来自分类Dev

如何将JSON转换为数组

来自分类Dev

如何将数组转换为对象?

来自分类Dev

如何将数组转换为对象?

来自分类Dev

如何将数组转换为映射?

来自分类Dev

如何将数组数组转换为包含键和值的分组数组?

来自分类Dev

如何将数组数组转换为包含键和值的分组数组?

来自分类Dev

如何将一系列索引/类别转换为分类数组

来自分类Dev

如何将熊猫系列转换为索引和值的元组

Related 相关文章

热门标签

归档