[内附完整源码和文档] 基于Qt实现的植物大战僵尸游戏

本文介绍了使用Qt框架,基于面向对象编程思想实现的植物大战僵尸游戏。详细讲解了植物(向日葵、豌豆射手、坚果墙)和僵尸(普通僵尸、铁桶僵尸、撑杆跳僵尸)的设计,包括它们的属性、行为和交互逻辑。游戏逻辑包括自动攻击、僵尸生成、游戏胜利和失败的判断以及死亡单位的删除机制。完整源码和文档已上传至WRITE-BUG技术共享平台。
摘要由CSDN通过智能技术生成

1.总体介绍
本次大作业,用面向对象的思想和方法,在实现了所有基本功能以外,还实现了许多其他的附加功能。

3.植物与僵尸的设计
3.1 植物的设计
本次大作业实现了三种植物,向日葵(sunflower)、豌豆射手(pea)、坚果墙(wallnut),均继承自父类 plant 类。

3.1.1 植物类(plant)
plant 类是所有植物的父类,其成员变量为所有植物共同的属性,life(生命值),price(消耗阳光值),coolingtime(冷却时间),row、col(所在的行和列数),mediaPlayer_plant(种植时的声音),plantSwingMovie(植物不在攻击状态时的动画)等等。

在构造函数里,初始化了 mediaPlayer_plant,保证每种一个植物时会有对应的音效播放。

3.1.2 向日葵类(sunflower)
除了继承自父类的成员变量外,自己的成员变量全部和生产阳光有关。另外还有一个 slot : slot_produceSunshine() ,这个slot 的功能是让每个向日葵每段时间(10 秒)自动产生一个阳光。

在构造函数里,初始化了向日葵的动画、自己的时间器、和阳光。

3.1.3 坚果类(wallNut)
因为坚果只有挨吃这一项功能,所以除了继承自父类的成员变量外,并没有自己的成员变量。只是在构造函数里将冷却时间和价格初始化了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值