请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

对于小鸟撞击水管的判断那里,有点晕了

if (bird.top > pencil.bottom ||
   bird.bottom < pencil.top ||
   bird.right < pencil.left ||
   bird.left > pencil.right
)

这段代码看晕了,完全不知道是怎么比较出来的

正在回答 回答被采纳积分+3

1回答

傅猿猿 2018-08-24 23:56:11

其实吧,bird.left > pencil.right是可以简化掉的,只不过我写全了。给你拆开分析吧。bird.top > pencil.bottom意思是上方铅笔的底部不能超过小鸟的顶部,不然小鸟就“戳”上去了,对吧。bird.bottom < pencil.top 这个指的是小鸟和下方铅笔,不能“戳”下去。 bird.right < pencil.left 是小鸟的右侧不能碰到上下两种铅笔的左侧,最后一个条件因为小鸟是向右运动的,所以可以省略

0 回复 有任何疑惑可以回复我~
  • 提问者 新奥时代 #1
    上方铅笔的底部的y坐标不能超过小鸟的顶部的y坐标,即铅笔底部y坐标大于小鸟底部y坐标,这个逻辑是什么时候判断的?
    回复 有任何疑惑可以回复我~ 2018-08-25 02:50:07
  • Mrxxm #2
    bird.left > pencil.right 这个条件不能省略,当飞过第一根铅笔,且铅笔还未被销毁,铅笔在小鸟后方,还是需要bird.left > pencil.right这个判断的。
    回复 有任何疑惑可以回复我~ 2019-06-04 19:36:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信