Algorithm 国际象棋运动模式验证

Algorithm 国际象棋运动模式验证,algorithm,validation,chess,Algorithm,Validation,Chess,我知道abs(srcX-dstX)==abs(srcY-dstY)是对bishop工件运动模式的正确验证 但我想知道我的验证是否也正确,这里是: srcX-srcY==dstX-dstY | srcX+srcY==dstX+dstY 如果您的回答是“否”,请说明原因 abs(x) = x if x >= 0 -x if x < 0 编辑:公式的更正是,它是正确的。基本的方法是取原始方程,去掉绝对值,然后做同样的事情,但在一边乘以-1,所以 Given: abs(src

我知道
abs(srcX-dstX)==abs(srcY-dstY)
是对bishop工件运动模式的正确验证

但我想知道我的验证是否也正确,这里是:
srcX-srcY==dstX-dstY | srcX+srcY==dstX+dstY

如果您的回答是“否”,请说明原因

abs(x) =
    x if x >= 0
   -x if x < 0

编辑:公式的更正

是,它是正确的。基本的方法是取原始方程,去掉绝对值,然后做同样的事情,但在一边乘以-1,所以

Given: abs(srcX-dstX) == abs(srcY-dstY)
srcX-dstX == srcY-dstY OR srcX-dstX == -srcY+dstY

这可以重新排列,看起来像你的。

这不等于OP写的吗?
Given: abs(srcX-dstX) == abs(srcY-dstY)
srcX-dstX == srcY-dstY OR srcX-dstX == -srcY+dstY