【问题标题】:Chess Bishop movement pattern validation国际象棋主教运动模式验证
【发布时间】:2016-08-16 09:41:13
【问题描述】:

我了解abs(srcX-dstX) == abs(srcY-dstY) 是对主教棋子运动模式的正确验证。

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

如果您的回答是否定的,请说明原因。

【问题讨论】:

    标签: algorithm validation chess


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:
      abs(x) =
          x if x >= 0
         -x if x < 0
      

      因此,您的验证应该是:

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

      编辑:修正公式

      【讨论】:

      • 那不等于OP写的吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 2015-05-02
      相关资源
      最近更新 更多