QT实现简单的塔防游戏(高级重构版)

本文介绍了一位开发者使用QT重新实现的塔防游戏,修复了之前版本的问题,并引入了C++新标准语法、封装、继承和多态等高级特性。游戏包含基础功能和丰富升级选项,如自动生成地图、多种防御塔和敌人、自动攻击、防御塔升级等。开发者提供了GitHub代码下载链接。
摘要由CSDN通过智能技术生成
QT实现简单的塔防游戏(高级重构版)
GitHub代码下载地址:点击跳转

由于第一次写塔防游戏时,我没有相关经验,所以导致最终的代码既不规范,运行效果也不太好。

而这一次,我重新写了一遍塔防程序,弥补了上一个塔防程序大部分的不足。

同时代码中还使用了很多高级(我认为)的用法,其中包括了C++新标准语法、封装、继承、多态等,甚至其中的一个功能,因为我没有办法很好的实现效果,于是我寻求了他人的帮助。

虽然我并没有与之相关的作业,但是我还是尽力把它做到了最好。

该程序中不仅包含了塔防游戏的基本功能,还有着丰富的升级功能,
其中包括了:

根据特定的二维数组自动生成地图、
自动确定防御塔位置、自动生成怪物路径、
可购买四种不同的防御塔,每种防御塔都有着其独有的攻击方式、
防御塔自动寻找目标进行攻击、
防御塔升级、防御塔拆除、
四种不同属性的敌人、
游戏难度随游戏进度增加、
命中敌人效果、敌人血条显示、
游戏失败及胜利判定、
多关卡功能,且添加关卡只需要一个13*8的特定格式的二维数组(在选择关卡界面类添加约15行代码)、
背景音乐。

虽然这个小游戏跟用游戏引擎做出来的真正的游戏还差很远,但是我认为它对于新手而言已足够好了。

运行效果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
防御塔升级后,其图片宽高会增大,攻击范围、伤害、速度都会提高
在这里插入图片描述
在这里插入图片描述

编译环境:
Windows Qt 5.9.0 Qt Creator 4.3.0

思路:
塔防小游戏思路


下面展示游戏开始界面代码,该界面使用了QT的界面设计功能

游戏开始界面代码:
#include "startwindow.h"
#include "ui_startwindow.h"
#include "gamewindow.h"        //游戏界面

StartWindow::StartWindow(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::StartWindow)
{
   
    ui->setupUi(this);
    setWindowTitle("开始界面");

    //选择关卡按钮点击
    //第一关
    connect(ui->pushButton_1, &QPushButton::clicked, []()
    {
   
        int mapArr_1[8][13] =
        {
   
            0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
            0, 0, 0, 0, 3, 0, 0, 3, 1, 1, 1, 1, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1
  • 12
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值