作业4 - 桌面冰球游戏的软件设计(初步)

 

iceHocky - 桌面冰球游戏

 

功能介绍


桌面:  桌面坐标系的原点设置在正中心,x轴方向向右,y轴方向向下,四轴的Frame为边框,冰球碰撞后回反弹(碰撞后的速度关于碰撞面法向对称),上下两个hole为球洞。

冰球: 具有参数speed和angle,分别表示冰球运动的速度大小和方向。

显示部件: 显示冰球、击球器的位置速度信息等。

待添加功能:     更改桌面、冰球等尺寸参数 添加开始、结束界面;

        增加计分功能;

        击球器与冰球碰撞后的速度计算;

        考虑简化功能,仅仅只是接受位置速度等信息然后可视化;

        


动画示意

(桌面录像gif动画由软件screenToGif制作) 

 


 

总结

  涉及到的细节较多,需要多尝试多练习才能熟练掌握Qt的各种模块功能;

  整个功能存在许多错误的地方,速度的计算不严格,碰撞的检测没有依赖物理引擎,没有数学物理模型支撑,仅仅依靠qt中item的碰撞检测实现;

  数据接口的思想很重要,如果有两个类在使用的时候需要have access to each other,可以简单的在自身的类中创建对方类的指针,在实例化的时候将指针作为构造函数参数传入,不能直接访问的private成员应额外增加接口函数,此外数据、信息的传递还可以通过信号与槽、共享memory、dbus等方式实现;

  

代码github链接:https://github.com/tangyuanjie/iceHocky

 

转载于:https://www.cnblogs.com/tangyuanjie/p/6211898.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值