当前位置:网站首页>基于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
边栏推荐
- MongoDB实现创建删除数据库、创建删除表(集合)、数据增删改查
- Idea error: process terminated
- 阿里云个人镜像仓库日常基本使用
- MySQL - subquery usage
- 【贝叶斯分类3】半朴素贝叶斯分类器
- leetcode刷题:字符串04(颠倒字符串中的单词)
- leetcode刷题:字符串01(反转字符串)
- Unity——Mathf. Similarities and differences between atan and atan2
- Detailed explanation of shutter textfield
- Introduction to single chip microcomputer one-on-one learning strategy, independent development program immediately after reading
猜你喜欢

Tiktok practice ~ search page ~ video details

leetcode刷题:字符串04(颠倒字符串中的单词)

Introduction to single chip microcomputer one-on-one learning strategy, independent development program immediately after reading

Keep alive cache component in Vue

Feitian +cipu body brings more imagination to the metauniverse

Tiktok practice ~ sharing module ~ generate short video QR code

慕课8、服务容错-Sentinel

【贝叶斯分类3】半朴素贝叶斯分类器

抖音实战~分享模块~生成短视频二维码

【山东大学】考研初试复试资料分享
随机推荐
浏览器的垃圾回收机制
Daily basic use of alicloud personal image warehouse
C exercise. Class list plus records, display records and clear records
0基础学c语言(1)
MySQL - subquery usage
0 basic C language (2)
Fixed length memory pool
leetcode刷题:字符串03(剑指 Offer 05. 替换空格)
抖音实战~分享模块~复制短视频链接
Super VRT
The two files are merged into a third file.
【最详细】最新最全Redis面试大全(70道)
MongoDB实现创建删除数据库、创建删除表(集合)、数据增删改查
Arduino UNO + DS1302利用31字节静态RAM存储数据并串口打印
The relationship between the development of cloud computing technology and chip processor
0 basic C language (0)
Détails de l'annotation des ressources sentinelles
uni-app使用canvas绘制二维码
Garbage collection mechanism of browser
Database SQL statement writing