国际象棋主教运动模式验证
Chess Bishop movement pattern validation
我理解 abs(srcX-dstX) == abs(srcY-dstY)
是对主教棋子运动模式的正确验证。
但是我想知道我的验证是否也正确,这里是:
srcX-srcY == dstX-dstY || srcX+srcY == dstX+dstY
如果您的回答是否定的,请说明原因。
abs(x) =
x if x >= 0
-x if x < 0
因此,您的验证应该是:
srcX-dstX == srcY-dstY || -srcX+dstX == srcY-dstY
编辑:更正公式
是的,它是正确的。基本的 method 是取原方程并去除绝对值,然后做同样的事情,但在一侧乘以 -1 所以
Given: abs(srcX-dstX) == abs(srcY-dstY)
srcX-dstX == srcY-dstY OR srcX-dstX == -srcY+dstY
这可以重新排列成你的样子。
我理解 abs(srcX-dstX) == abs(srcY-dstY)
是对主教棋子运动模式的正确验证。
但是我想知道我的验证是否也正确,这里是:
srcX-srcY == dstX-dstY || srcX+srcY == dstX+dstY
如果您的回答是否定的,请说明原因。
abs(x) =
x if x >= 0
-x if x < 0
因此,您的验证应该是:
srcX-dstX == srcY-dstY || -srcX+dstX == srcY-dstY
编辑:更正公式
是的,它是正确的。基本的 method 是取原方程并去除绝对值,然后做同样的事情,但在一侧乘以 -1 所以
Given: abs(srcX-dstX) == abs(srcY-dstY)
srcX-dstX == srcY-dstY OR srcX-dstX == -srcY+dstY
这可以重新排列成你的样子。