2016-08-16 3 views
-1

Я понимаю, что abs(srcX-dstX) == abs(srcY-dstY) является правильной проверкой шаблона движения части епископа.Проверка шаблона движения шахматного епископа

Но я хотел бы знать, если моя проверка тоже правильно, вот это:
srcX-srcY == dstX-dstY || srcX+srcY == dstX+dstY

Если ответ нет, просьба указать причину.

ответ

2

Да его правильно. Основная method это принять исходное уравнение и удалить абсолютное значение, а затем сделать то же самое, но умножить на -1, с одной стороны, так

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

Это может быть перестроены, чтобы посмотреть, как ваш.

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

Таким образом, ваша проверка должна быть:

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

EDIT: коррекция по формулам

+0

Разве это не эквивалентно тому, что написал OP? –