开发日志_Jan.8.2017

时间:2023-03-09 08:54:58
开发日志_Jan.8.2017
这两天继续着手开发碰撞部分。

主要工作是写碰撞类和运动线程类。碰撞主要在于算法,运动线程只要管理好就行了。

之前碰撞测试中(即还未添加完整碰撞算法时)遇到各种bug,疑似机器人和小球的定位点不明所造成的。昨天研究了下QT下的GUI的定位点,发现应该为图形的左上角。这与我的Java图形编程中遇到的情况一致,不知道是否是各类图形编程的共性。

定位点明确后,碰撞依然不符合预期。发现一处坐标系正方向弄错而产生的错误。修改后,运动改变,但是依然有问题:球在接触机器人前即回弹。查找问题许久,未发现进一步代码上的问题。于是仔细阅读了框架代码,发现本应是球的直径的一个参数被命名为了radius。导致我一直用球的直径当做半径在用。把命名修改并修改代码后,碰撞实现预期。Bug终于De了出来,历时许久,但是倍感轻松。

下一步就是碰撞算法了。其实具体代码已经写出来了,但是不符合预期。原始框架中步距为int类型,导致速度值也只能设置为int类型。为了不损失过多的精度,只能设置一个较大的速度作为步距。结果导致碰撞时两物体会有一定的交集。考虑到是这里产生了bug。Debugging。准备今明两天内搞完。