热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

基于QT实现的RPG连连看

基于QT实现的RPG连连看QLink(连连看)在连连看游戏中,会有⼀个地图,地图上有许多不同种类的⽅块,通过将相同种类的两个⽅块相连,可以将这两个⽅块消除,⽤户获得分数。在整个连连

基于QT实现的RPG连连看

QLink(连连看)

在连连看游戏中,会有⼀个地图,地图上有许多不同种类的⽅块,通过将相同种类的两个⽅块相连,可以将这两个

⽅块消除,⽤户获得分数。

在整个连连看的过程中,除了处理⽤户的操作之外,还有⼏个⽐较特殊的部分特别需要注意:

随机地图的⽣成

判断两个⽅块是否可以通过两次以内的折线进⾏连接判断剩余⽅块是否还有解

除此之外,具体的功能要求如下:


RPG 机制

不同于传统的连连看,我们的 QLink 使⽤ RPG 模式进⾏,即玩家需要控制⼀个⻆⾊在地图的空地上移动(⻆⾊显示可⾃⾏选择)。

激活:当⻆⾊处于⽅块旁且再次向⽅块⽅向移动,会激活该⽅块(请使⽤某种⽅式表示该⽅块被激活)。

消除:如果此次激活的⽅块和上次激活的⽅块是同种类,且可以通过两次以内的折线连接,则该两个⽅块被消 除,玩家获得分数。(请绘制出将两个⽅块连接在⼀起的折线) 否则,上次激活的⽅块被⾃动变为未激活状态,换句话说,每个⻆⾊在地图中只有 0 个(游戏刚开始时,或刚刚消除完⼀对⽅块时)或者 1 个激活的⽅块。

计分

不同种类的⽅块可以有不同的分值,具体规则可以⾃⾏制定。界⾯中应时刻显示玩家的分数。

倒计时和游戏结束

有两个情况可以导致游戏结束:



  • 1.倒计时结束;

  • 2.没有可消除的⽅块对(所有⽅块均被消除也属于这⼀种)。

    界⾯中应时刻显示游戏的倒计时。


开始菜单

⾄少包括以下按钮: 开始新游戏

可选择游戏模式:单⼈模式、双⼈模式(具体看后⽂)

载⼊游戏

退出游戏


单⼈模式

游戏开始时,会随机⽣成地图,并随机玩家⻆⾊位置。随后玩家可控制⻆⾊移动,以激活和消除⽅块。

道具

道具通过随机⽅式出现在地图的空地上,当⻆⾊与道具出现在同⼀位置时,该⻆⾊触发道具效果,道具消失。

+1s: 延 ⻓ 剩 余 时 间 30s Shuffle:所有⽅块位置重排

Hint:10s 内会⾼亮⼀对可能链接的⽅块,被消除后会⾼亮下⼀对,直到 10s 时间结束

Flash:5s 内允许通过⿏标单击移动⻆⾊位置,⻆⾊移动到的位置必须通过空地可到达,否则点击不产⽣任何效果。如果点击到⽅块,且⻆⾊可以移动到该⽅块旁,则⻆⾊移动到该⽅块旁,且该⽅块被激活。如果⽅块四 周有多个位置可以让⻆⾊停留,则⻆⾊移动到其中任何⼀个位置均可。


双⼈模式

两个玩家的两个⻆⾊在相同的地图上进⾏游戏,以结束游戏时双⽅的分数决定谁为赢家。

道具

在单⼈模式的基础上,增加:

Freeze:对⼿ 3s 内⽆法移动

Dizzy:对⼿ 10s 内移动⽅向颠倒(上下左右颠倒)

此外,

Hint 道具的效果对两个玩家均可⻅;

+1s 道具的效果对两个玩家均有效。双⼈模式下,没有 Flash 道具

暂停和存档

在暂停时,可以保存游戏(Save)和载⼊游戏(Load)

保存游戏会将当前游戏的所有状态以任意格式保存到磁盘上的⽂件 载⼊游戏时,读取⽂件,并从中恢复状态


开发环境



  • 语言:C++

  • 框架:Qt 5.12


玩家模式选择

模式选择.png


单人模式演示

单人模式.gif


双人模式演示

双人模式.gif


重新排列演示

重新排列.gif


存档和读档演示

存档和读档.gif


源码传送门

传送门:https://pan.baidu.com/s/1Orl6ZSPqEY9H0mRvpE-ACA?pwd=1111



推荐阅读
  • 优化后的标题:探索户外活动中的智能手机应用程序 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 通过手机获取的GPS坐标在手机地图上存在约100-200米的偏差,但在Google Maps中搜索同一坐标时,定位非常精确。这种偏差可能出于安全或隐私考虑而被有意引入。此外,不同设备和环境下的GPS信号强度和精度也会影响最终的定位结果。 ... [详细]
  • 王者荣耀如何设置手机定位?详细教程与技巧分享 ... [详细]
  • POJ3669题目解析:基于广度优先搜索的详细解答
    POJ3669(http://poj.org/problem?id=3669)是一道典型的广度优先搜索(BFS)问题。由于陨石的降落具有时间属性,导致地图状态会随时间动态变化。因此,可以利用结构体来记录每个陨石的降落时间和位置,从而有效地进行状态更新和路径搜索。 ... [详细]
  • 经过短暂的休整,我们再次推出新的小程序功能,进一步提升用户体验。现在,小程序页面不仅支持放置转发按钮,还新增了长按快速转发的功能,让用户能够更加便捷地分享页面内容。这一更新将为开发者提供更多创意空间,同时也大幅提升了用户的互动性和使用便利性。 ... [详细]
  • SRM 553:深入解析供应链管理系统的最新进展与应用本文详细探讨了供应链管理系统(SCM)的最新发展及其在实际应用中的影响。通过对当前技术趋势的分析,文章揭示了 SCM 在提高效率、降低成本和增强透明度方面的关键作用。此外,还介绍了几种创新的 SCM 解决方案,如区块链技术和人工智能的应用,以及这些技术如何帮助企业更好地应对市场变化和挑战。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 如何在高德地图中启用并高效利用跑步功能?详细操作指南与技巧分享
    高德地图中的跑步功能如何启用及高效利用?本文将详细介绍具体操作步骤与实用技巧。首先,打开高德地图应用,找到并点击跑步功能图标,开始记录您的运动数据。通过设置个性化目标和路线规划,您可以更好地监控运动状态,提升跑步效果。此外,本文还将分享一些高级功能,如数据分析和社交分享,帮助您更加科学地管理您的跑步计划。 ... [详细]
  • 在 Angular Google Maps 中实现图片嵌入信息窗口的功能,可以通过使用 `@agm/core` 库来实现。该库提供了丰富的 API 和组件,使得开发者可以轻松地在地图上的信息窗口中嵌入图片。本文将详细介绍如何配置和使用这些组件,以实现动态加载和显示图片的功能。此外,还将探讨一些常见的问题和解决方案,帮助开发者更好地集成这一功能。 ... [详细]
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • Predicting Future Outcomes to Enhance Decision-Making and Action Planning
    通过预测未来结果以优化决策和行动计划。本文探讨了通过机器学习方法预测未来事件,从而提升决策质量和行动效率的策略。作者Alexey Dosovitskiy和Vladlen Koltun提出了一种新的模型,该模型能够通过预测未来的多步状态来指导智能体采取更有效的行动。实验结果显示,这种方法在多种任务中显著提高了性能,为实际应用提供了有力支持。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 传奇手游智能辅助脚本能够显著提升玩家的游戏体验,通过自动打怪功能实现高效升级。该脚本利用先进的算法和技术,确保在游戏过程中自动完成战斗任务,帮助玩家节省大量时间和精力。此外,脚本还具备智能路径规划和资源管理功能,进一步优化游戏进程,使玩家能够更加轻松地达到目标等级。 ... [详细]
  • 地图集成方法与应用 ... [详细]
author-avatar
vaaal52653
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有