私はabs(srcX-dstX) == abs(srcY-dstY)
がビショップピースの動きパターンの正しい検証であることを理解しています。チェスビショップの動きパターンのバリデーション
しかし、私の検証も正しいかどう私が知りたいのですが、ここにある:あなたの答えはノーである
srcX-srcY == dstX-dstY || srcX+srcY == dstX+dstY
場合は、理由を明記してください。
私はabs(srcX-dstX) == abs(srcY-dstY)
がビショップピースの動きパターンの正しい検証であることを理解しています。チェスビショップの動きパターンのバリデーション
しかし、私の検証も正しいかどう私が知りたいのですが、ここにある:あなたの答えはノーである
srcX-srcY == dstX-dstY || srcX+srcY == dstX+dstY
場合は、理由を明記してください。
はいその正しいです。基本的なmethodこれはあなたのように見えるように並べ替えることができるので、
Given: abs(srcX-dstX) == abs(srcY-dstY)
srcX-dstX == srcY-dstY OR srcX-dstX == -srcY+dstY
を元の方程式を取り、絶対値を削除して、同じことを行うが、1つの側に-1を掛けることです。
abs(x) =
x if x >= 0
-x if x < 0
したがって、あなたの検証は次のようになります。
srcX-dstX == srcY-dstY || -srcX+dstX == srcY-dstY
EDIT:式の補正
OPが書いたものと同等ではありませんか? –