看到了挺火的2048,就想用Qt实现一下,游戏逻辑倒是不复杂,稍微推敲就能搞定,倒是动画和各种细节前前后后参考了很多,也想了很久。
一个月前把功能都实现了,因为考试等各种琐事,这几天才想到整理下。真正编写的时间也并不久,一周左右吧。
这次是用Qt5开发,一个QWidget窗口,添加一个restart按钮,一个最高分label,一个当前分label。然后16宫格的游戏面板部分继承自QGLWidget类,面板监听鼠标按下和放开坐标来识别四个方向的移动。
逻辑部分不复杂,每次计算更新当前面板的分数后,播放动画列表,并发送信号到主窗口,使之更新当前分,以及根据情况更新最高分,弹出游戏胜利消息框或游戏结束消息框。
实际的运行效果是这样:
因为是截图,所以也不能表现动画的部分。。
代码写的不怎么样,且还有些缺陷,暂时就不分享了。。
时间: 2024-09-29 16:27:00