本周在导师的指导下写了一个桌球小游戏,只实现了核心功能。
关于游戏中几个重要点:
1.游戏的核心是球体碰撞。涉及到的物理概念有动量与能量守恒定理,数学的有矢量运算,平面几何计算等。
2.Vector的矢量类库:程序中球体的位置和速度都使用矢量来表示,通过类库中封装的大量矢量运算方法,提高了开发效率,也提高了代码的可读性和可扩展性。
3.程序结构:程序中球体和球杆都是独立的对象,并封装了两个工具类(ColorName:方便颜色的调用 ,myVector:矢量类)。初始化部分包括生成球和放置好球。主程序部分每一帧的处理包括:球体运动处理,球桌边界检测及处理,球碰撞边界及处理,球落袋处理。每一个处理都调用不同的方法模块来实现。
有兴趣的可以到我个人资源那下载参考。