欢迎您的来访!有源码,好建站(www.codehy.com)源码海洋为您提供快速建站平台.

5780-Qt C++开发的植物大战僵尸工程源码 可借鉴的开发思路

5780-Qt C++开发的植物大战僵尸工程源码 可借鉴的开发思路
  • 源码类型:国产软件
  • 授权方式:商业源码
  • 源码大小:40 MB
  • 需要金币:300 金币
  • 运行环境:Win2003,WinXP,Win2000,Win9X
  • 源码等级:★★★☆☆
  • 发布时间:2023-11-05
  • 下载次数:
  • 金币说明:5元5|10元10|30元100|100元1000|更多
  • 在线冲值:点击在线冲值
  • 源码标签:
  • 查看或解压密码:
  • 网盘提取密码:
源码介绍

5780-Qt C++开发的植物大战僵尸工程源码 可借鉴的开发思路

Qt/C++开发的植物大战僵尸工程源码 可借鉴的开发思路
附:完整设计文档、UML图、不定时提供源码分析讲解,协助了解功能运作原理。
1 系统需求分析
当可怕的僵尸入侵的时候,谁能想到,弱小的植物能承担起保卫家园的责任?也许你早听 说过那些没有脑子的僵尸席卷整个街区、吃掉一户一户屋主人的脑子的故事。但这次,你终于 要真正面对入侵自己家园的僵尸了。有僵尸在你的草坪上!
草坪是植物们的领地。面对疯狂践踏的入侵者,植物们不惜以自己的身躯阻挡僵尸前进 的道路。可是僵尸的利齿不仅可以用来吃掉脑子,还可以用来吃掉植物。面对挡路的一切东西, 僵尸们选择:吃掉它们!
用什么来保卫你自己的家园和脑子呢?我们只有勇气,和自己手中的那把小铲子。
试设计游戏,并实现以下功能:
拥有图形界面,如游戏主界面和准备界面
能完成游戏操作,如放置植物,删除植物,生成僵尸,攻击等操作
正确且合理的胜负判断
实现卡牌冷却效果
两个场景的选择,晴天和黑夜
背景音效的实现,如碰撞,放置植物以及收集阳光等
正确显示阳光槽,植物卡牌槽等部件
实现九种植物和七种僵尸
实现调试功能,按下一些按键可以执行一些特殊操作,比如快速产生僵尸和增加阳光
实现代码层级的一些基本要求,如面向对象的继承派生多态等机制,文件操作(读取 媒体资源文件,读取记录用户名和游戏最长时间的文本文件),一些基本数据结构的使用 (如 list,map,set)等
2 总体设计
植物大战僵尸是一款游戏非常经典的益智类游戏,画风友好,玩法多样,整体逻辑比较 清晰。本次我选择使用 c++的 GUI 库 Qt 来写复现游戏。总体上来说完成了游戏加载界面,菜单选择界面,主游戏逻辑和交互界面和游戏的基本功能。由于手头的资源有限(比如植物 和僵尸的贴图)以及时间等方面的限制,本游戏实现了了七种僵尸和九种植物,以及白天和 黑夜两个场景模式,具有了一定的可玩性。
首先谈一下我在初期设计的主要想法。我认为,同为程序,不同种类的程序的开发思路 是截然不同的。比如设计一个数据管理系统和游戏的思路是截然不同的。我认为游戏的最 大特点在于它是一种交互性极强的产品形式,而且一般工程量较大,需要兼顾内在逻辑和 外在用户交互界面,并且由于和用户的交互性极强,操作多样化,非常适合面向对象的开发 思想。因此本次自选题我选择了实现植物大战僵尸这一经典的游戏。
基于自己的水平考虑,我选择了非常常规的经典面向对象的思路,定义良好的复用性强 的基类,如果想要添加新的对象和功能,只需要从基类派生并将新类加入生成器。在逻辑和 UI 界面的关系选择上,让每个游戏对象负责处理自己的逻辑和动画,而不是将逻辑和画面 完全分开,每回合逻辑执行完成后渲染画面。因为前者虽然效率低了一些,但是总体上说更 符合人的思路,对前期的架构设计要求也没有那么高,可以后期逐步完善,拓展性更强一 些。
而在要求上,我完成了必须要求
函数重载
类的继承和抽象基类
动态分配 内存和文件操作
使用了 list 和 set 等数据结构
总体上来说,需要实现的模块和功能有:
渲染场景:包括加载欢迎界面和游戏主界面
多种植物:游戏的主要实体对象之一
多种僵尸:游戏的主要实体对象之一
多种飞行物:如豌豆、孢子等,也是游戏的重要对象
多种动画:在游戏中需要根据实物的状态来更新各种动画
奖励物:阳光等
多种卡片:主要指的是种植植物是选择的卡片,需要完成冷却功能

 

 

 

 

 

本源码地址:http://www.codehy.com/vip/vc/2023/1105/24099.html
下载地址
相关源码

推荐源码