2016-08-16 9 views
-1

私はabs(srcX-dstX) == abs(srcY-dstY)がビショップピースの動きパターンの正しい検証であることを理解しています。チェスビショップの動きパターンのバリデーション

しかし、私の検証も正しいかどう私が知りたいのですが、ここにある:あなたの答えはノーである
srcX-srcY == dstX-dstY || srcX+srcY == dstX+dstY

場合は、理由を明記してください。

答えて

2

はいその正しいです。基本的なmethodこれはあなたのように見えるように並べ替えることができるので、

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

を元の方程式を取り、絶対値を削除して、同じことを行うが、1つの側に-1を掛けることです。

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

したがって、あなたの検証は次のようになります。

srcX-dstX == srcY-dstY || -srcX+dstX == srcY-dstY 

EDIT:式の補正

+0

OPが書いたものと同等ではありませんか? –

関連する問題