网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Qt 6.5.0
三. 课题要求
1)面向对象
2)单元测试
3)模型部分
4)验证
四. 主要流程
1.整体流程
实现思路:
(1)定义了GameDefine类,负责游戏主要参数的定义
(2)定义了GameControl类,负责游戏主要进程的初始化、运行和控制
(3)定义抽象的虚基类GameScene,成员方法为
virtual void LoadScene() = 0;//加载场景
virtual void LoadPos() = 0;//加载位置
virtual void AddItem() = 0;//将元素添加到场景中去
virtual void AddEffect() = 0;//添加效果
virtual void AddPicture() = 0;//添加图片
virtual void LoadPushButton() = 0;//加载按钮
QGraphicsScene \*mScene;//游戏场景
QGraphicsPixmapItem \*mBackground;//游戏背景
虚析构函数:
virtual ~GameScene(){}。
其他类继承关系
2.主要的场景逻辑和计算算法
(1)场景切换
①总述:
游戏中一共存在四个场景:开始场景(Start Scene)、主场景(Main Scene)、暂停场景(Stop Scene)、结算场景(End Scene)。场景之间的逻辑关系如下图所示:
②开始场景(Start Scene):
游戏开始时会弹出开始场景:
点击场景中间的开始按钮就会跳转至主场景。
③主场景(Main Scene):
主场景是游戏进行的主要场景,在主场景中,会播放谱面,玩家需要根据节奏接住落下的音符。其中四个轨道从左到右分别对应着键盘上的S、D、J、K四个键。玩家需要在音符落到判定线是击打轨道对应的键位,经过判定算法,得出相应的判定。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**