当前位置:网站首页>基于QT实现简单的连连看小游戏
基于QT实现简单的连连看小游戏
2022-06-26 20:33:00 【biyezuopinvip】
资源下载地址:https://download.csdn.net/download/sheziqiong/85788216
资源下载地址:https://download.csdn.net/download/sheziqiong/85788216
简单的连连看小游戏。
整体流程
实现思路:
定义游戏模型类和游戏窗口类,使用按钮来完成游戏界面设置
算法
主要在图标的存放与打乱和连接的判断

图标的存放与打乱:采用一维数组,两个两个的为数组赋值,即为一对图标,为数组赋值 1~图标数 ICON,数组中的数值即对应相应编号的图片。之后生成随机数,两两交换数组元素的值,实现打乱
连接判断:连接分为三种大情况:直线连接、拐弯一次后连接、拐弯两次后连接,具体如下:
① 直接连接:

Case 1:判断连线上的数组元素值均为 0。

Case 2:判断连线上的数组元素值均为 0。
②

拐弯一次后连接:
连接前交换点的顺序,使横坐标小的点在前。
Case 3: 连线先向右再上拐或下拐,判断拐点为 0,再判断拐点可与起始点、终点直线相连。

Case 4: 连线先上或下再向右拐,判断拐点为 0,再判断拐点可与起始点、终点直线相连。

③ 拐弯两次后连接:
同样连接前交换点的顺序,使横坐标小的点在前。
Case 5:先向上或向下到达某点,在拐一次弯连到终点(连线所经过的点最初都存放了图片)。


Case 6:先向左或向右到达某点,在拐一次弯连到终点(连线所经过的点最初都存放了图片)。
Case 7、8、9、10:连接时连线经过了未存放图标的区域

单元测试
通过应用程序输出,生成窗口,进行游戏
单元测试
测试结果
游戏可以正常运行,各按钮可正常使用
收获
第一次同时使用多个.cpp 文件实现互相调用
学到了游戏模型和窗体相分离的游戏设计理念
学习了 Qt 按钮类的许多功能
可正常使用
收获
第一次同时使用多个.cpp 文件实现互相调用
学到了游戏模型和窗体相分离的游戏设计理念
学习了 Qt 按钮类的许多功能
资源下载地址:https://download.csdn.net/download/sheziqiong/85788216
资源下载地址:https://download.csdn.net/download/sheziqiong/85788216
边栏推荐
- 710. 黑名单中的随机数
- 【贝叶斯分类3】半朴素贝叶斯分类器
- 关于Qt数据库开发的一些冷知识
- 阿里云个人镜像仓库日常基本使用
- Gamefi active users, transaction volume, financing amount and new projects continue to decline. Can axie and stepn get rid of the death spiral? Where is the chain tour?
- 与 MySQL 建立连接
- windows系統下怎麼安裝mysql8.0數據庫?(圖文教程)
- Garbage collection mechanism of browser
- 30. 串联所有单词的子串
- Tiktok practice ~ search page ~ scan QR code
猜你喜欢

回首望月

leetcode刷题:字符串06(实现 strStr())

vue中缓存组件keep-alive

windows系統下怎麼安裝mysql8.0數據庫?(圖文教程)

这些地区考研太疯狂!哪个地区报考人数最多?

Daily basic use of alicloud personal image warehouse

Disruptor本地线程队列_使用transProcessor处理器和WorkPool两种方式进行消费对比---线程间通信工作笔记005

Muke 11. User authentication and authorization of microservices

分布式ID生成系统

【山东大学】考研初试复试资料分享
随机推荐
BOM and DOM operations
开户可以在网上开么?能安全吗?
Is it safe to open an account for CICC Wealth Online?
windows系統下怎麼安裝mysql8.0數據庫?(圖文教程)
c语言99乘法表
leetcode刷题:字符串01(反转字符串)
Keep alive cache component in Vue
Serial port application program based on gd32
Muke 11. User authentication and authorization of microservices
Solve com mysql. jdbc. exceptions. jdbc4.MySQLNonTransientConnectionException: Could not create connection
Can I open an account online? Is it safe?
C: 反转链表
JWT operation tool class sharing
How to install mysql8.0 database under Windows system? (Graphic tutorial)
leetcode刷题:字符串05(剑指 Offer 58 - II. 左旋转字符串)
C language file cursor fseek
leetcode刷题:字符串03(剑指 Offer 05. 替换空格)
抖音实战~分享模块~复制短视频链接
C primer plus learning notes - 3. Character IO (input / output)
大家都能看得懂的源码(一)ahooks 整体架构篇