为了账号安全,请及时绑定邮箱和手机立即绑定

老师的源码里判断是否是门的函数里 为什么xy坐标要反过来设置

http://img1.sycdn.imooc.com//56e8c3fc00016fda03790377.jpg

如图 箭头的地方  为什么会把坐标的xy值反过来放,而且我发现用YX可以正常运行,而用XY不能正常运行 这是为什么

正在回答

1 回答

因为源代码中建立Map的时候是以纵方向为X轴,横方向为Y轴的,也就是二位数组中第一个数代表第几行,第二个数代表第几列。

第一个if语句段是检查左右两边是否到达边界( 在如果人在地图中达到边界,即旁边没有墙,所以这是一个门),左右达到边界即检查二维数组的第二个数是否为边界值(最大或者最小)。第一个if语句段中,老师使用的是mazeX作为变量,mazeX是positionX传入的,positionX是人的横坐标,依旧是y轴左边。

所以并不是老师把xy反过来放,而是老师写的时候对于xy的是横还是纵因为某种原因在写Map和人的时候搞混了,所以造成这个需要人和地图同时用到的时候需要反着写(只是表面看起来是反的),如果你仔细看老师判断是否撞墙的checkWallOrNot()函数里面也是这样表面上是反着写的。。。


第二个if语句段的原因相同,不详述了。如果第一个看懂,但还是不明白第二个的话。。。我也没办法。

0 回复 有任何疑惑可以回复我~
#1

丶陌墨 提问者

非常感谢!
2016-03-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

老师的源码里判断是否是门的函数里 为什么xy坐标要反过来设置

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信