按钮qt版连连看制作的实验报告

4399宠物连连看2.5  时间:2021-03-05  阅读:()

一 游戏概述

1. 1游戏简介

游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。 “连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。

游戏“连连看”是源自台湾的桌面小游戏 自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于200年取得了国家版权局的计算机软件著作权登记证书。

随着Fla 应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”,“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。

2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。 “连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。

1.2游戏功能

本次设计连连看主要是在原连连看对战的基础上设计挑战模式,具体的功能如下所述:

 游戏运行界面简单美观操作简单运行稳定;

 能够根据不同的等级模式播放不同的游戏背景音乐,包括操作方向

键、消行时的声音,音量由玩家操作控制;

 设计不同的游戏难度,当玩家达到一定的积分,可以进入相关难度的

等级;

玩家可直接操作界面上的相关按钮来控制游戏的开始、暂停、设置、退出等功能。

二 需求分析

2. 1开发的需求

2.  .  C+

C/+的哲学就不一样了,同一份程序代码,只要在该平台重新ompile成该平台的执行档就能在该平台执行若文字模式下的程序,的确可以跨平台,程序完全不需修改,但GI盛行以后,由于各GU的L ary都不一样且没有标准,所以UI程序并没办法跨平台Comile因为各平台都有专属的Libr y。但是CC+优势就是执行速度快若能解决GU Libr y的问题,则跨平台即可解决。

除了I Lbray需要统一外,还得看该ib ry设计的好不好才行,L inu UI我没写过就不说了,若在Wnd o ws平台,B land 的C+ u ld 使用D lphi的CL L bra y,Microsft的 sa  C++可以用MF和 ET Frmewo rk,首先来看B  lad的C++Bui ler,它使用标准的I

C+语言开发,利用CL写出来的程序也算蛮漂亮的,执行速度很快比较麻烦的是 ild er当初为了缩短上市时间并没有设计自己的Lb ray而是藉用Dlp hi的L ib r  ,导致C+ ui ler在Com  le时,是先用Dlph的Comiler将VL compile成bjct fi  e后再用++Builder将你写的C程序opi  e成b ect f l,最后再用inker将所有的object起来,由于这都是IDE在做,对程序设计师似乎影响不大,但VL由于是lphi的Li ar所以若想深入研究VCL的sore code时则必须学Delphi的Pascal才行,否则看不懂CL sorce code,这也是很多人对C++ uildr却步的原因。

再来看M c roo ft的V ul +,MF用的是完整的ANS C+语言,所以语言部分不是问题,但若你看过用FC写的程序,你一定会惊讶为什么这么复杂,程序代码非常冗长不好看,且FC是有名的难学,若Visual C+搭配.NET Framwork,则无法使用NS

C++得用其.NET平台版本的C+/LI,相信这点很多人就有意见了,不过.NT Frwor由于设计的不错,所以写出来的程序相当精简漂亮,感觉和C++ uiler差不多,不过无论是C++Bi l  或isual C++开发的GU ,所开发出来的程序都无法跨平台,当然也无法跨平台ompile。

2. 1.  QT

(   QT的介绍

Qt 是一个多平台的C图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt 是完全面向对象的很容易扩展并且允许真正地组件编程。

自从 1  6年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。 Qt 也是流行的Lnux 桌面环境KDE 的基础,D是所有主要的inu发行版的一个标准组件。 Qt的特点有可移植性、易用性、执行速度快等特点。

(2 QT的优势

 XL支持。

 大量的开发文档

 支持D/D图形渲染,支持 OpnGL

 优良的跨平台特性,Qt支持下列操作系统: Microsoft Winos 9598, ic  sof indows NT, Ln  Sola   SuS PUX, D gi   l NX (SF 1, Tru ) ,Irix, r BS, BD/S, SCO IX, S30,QNX等等。 面向对象,t 的良好封装机制使得Q 的模块化程度非常高可重用性较好,对于用户开发来说是非常方便的。 t提供了一种称为 sial / lots的安全类型来替代a lback,这使得各个元件之间的协同工作变得十分简单。

 丰富的AP ,Q包括多达250个以上的++类,还提供基于模板的 cllec  ios, serialization  ile  O dv   e,  ectoryanagemet datetie类。甚至还包括正则表达式的处理功能。

2 2游戏功能需求

本次设计是在传统的连连看上设计实现对战的连连看,玩家通过达到一定的

积分来获得继续闯关的机会,还有机会开启神秘的应藏关,以此来增加游戏的可玩性。

游戏的基本规则:程序随机产生任意成对的图片当定点击开始游戏时,电脑根据时间参数随机生成固定的成对图片,游戏再次开始,玩家可通过鼠标上的左键,自由的点两张图片。如果点击两次时,两张图片相同,且满足程序的算法则这两张图片可消去。消去图片后游戏可给玩家加分,若在规定的时间内玩家没有消掉所有的图片则游戏失败。 由于是闯关模式,达到一定分数的玩家可以继续挑战新的游戏游戏的难度会相应增加,并且还增加了新玩法。具体的游戏功能如下:

游戏界面需求:设计良好的游戏界面可以让玩家充分感受到游戏带来的娱乐性,游戏的背景取自网上中的图片,体现了游戏的挑战性。

鼠标处理事件需求通过点击主窗体中相应的按钮,可以实现游戏的开始、暂停、结束,通过点击选项设置中相应的按钮,可设置声音的大小及方向键↓的功能。显示需求:当两次点击的图片相同且满足算法可以消去,当达到一定分数的时候,游戏会进入下一关,并有障碍了。

游戏闯关设计需求随着游戏的难度不同,玩法会发生改变,需要在游戏中设置障碍蒙手游戏。如果玩家能到达并完成最后一关,则玩家挑战成功,游戏结束。

最后游戏效果如下:

三 游戏总体设计

3 1总体设计

整体设计思想:进入游戏后有三个按钮可供玩家选择:开始游戏游戏设置,退出游戏在进入相应子菜单后也可返回到主菜单,每个菜单的具体设计将在后面介绍,以下是总体的游戏流程图。

3 2游戏核心模块的设计

. . 连连看所要求的是:

1.两个目标是相同的;

 两个目标之间连接线的折点不超过两个。 连接线由x轴和y轴的平行线组成 那么分析一下连接的情况可以看到一般分三种情况: (  直线相连 (2)一个折点; (3)两个折点。

可以发现,如果有折点,每个折点必定有且至少有一个坐标或者y是和其中一个目标点是相同的,也就是说,折点必定在两个目标点所在的x方向或y方向的直线上。

所以设计思路就是:

假设目标点   ,p2,如果有两个折点分别为 1 ,z那么所要

进行的是

 如果验证p1 , p 直线连线,则连接成立

 搜索以p ,p的x,y方向四条直线(可能某两条直线会重合上

的有限点,每次取两点作为z1,2 ,验证 1到z /z1到z2/z2到

 是否都能直线相连 ,是则连接成立。

3.2.2 连连看消去算法实现

在检验两张图片能否消掉的时候,我们要让两张图片同时满足两个条件才行,就是两者配对并且连线成功。分3种情况:(从下面的这三种情况,我们可以知道,需要三个检测,这三个检测分别检测一条直路经。这样就会有三条路经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个转弯点)把两个按钮连接起来了)

(1)相邻

 )若不相邻的先在第一个按钮的同行找一个空按钮。   .找到后看第二个按钮横向到这个空按钮所在的列是否有按钮。 2没有的话再看第一个按钮到与它同行的那个空按钮之间是否有按钮。 ).没有的话,再从与第一个按钮同行的那个空按钮竖向到与第二个按钮的同行看是否有按钮。没有的话路经就通了,可以消了.

(3)若失败后,再在第一个按钮的同列找一个空按钮。 1 .找到后看第二个按钮竖向到这个空按钮所在的行是否有按钮2).没有的话,再看第一个按钮到与它同列的那个空按钮之间是否有按钮。 3 .没有的话再从与第一个按钮同列的那个空按钮横向到与第二个按钮同列看是否有按钮。没有的话路经就通了,可以消了。

若以上三步都失败,说明这两个按钮不可以消去。

四 具体方案

. 1视图层设计

. 1 . 图形的产生

加载图块图片资源调用图片库用函数DrawArea  lo  P xmp(来

实现。

函数如下设计:v  d DawAra: : lodPixmap()

 backround. lad(" backgroun backgrund.png  ) ;

 backgron=bcground.  c l d   ize )  ;

QPixmap  ix(":/a ternpatte n.png" ;

 it num=pix.he  ght() PIIZE;

  r(i  1 i<num i 

real y=PIX_SIE*i ;

 QPixma p= ix. copy(0,y,PIX_SIZE,IXSIZE) 

 pixmp.push_b k(p) ;

}

}

4 1   判段消掉图片

如果两个图片一样,我们进行消块,并进行加分操作。消块操作如下:if(i Timr)

 kill er hitTmer ;

itTimr =strtTmr(INAL_HIT_TIMER) ;

 +multiHi  ;

m t hit(ult Hi  ) l neimer= tartTmer(INERVLIE_TMR) ;

4. 逻辑层设计

僵局考虑

判断是否已经进入死局,死局条件:

在回合尚未结束的情况下遍历面板,无法找到一对可销图块则判定为死局。若找到一对可销图块,则将其记录为hinA和hit,以供hint )函数利用。设计代码如下:b l   wAe : : isDe  (

int i, j,x,yif(!pa Left)

eturn t ue;

or(i   <xMax;++i) {for j= ;j<Max;++j) {if(boar [i]    ) {

 r = ;xxMax;++x) {if(i) yj ;

  se y= ;for  ; <yMa ;++y) i  oard[x] []==board[i] j] ) {if(isosLinkabl  (i, j,x,y ) //如果消块成功,那么这里就变成了0hntA. i ;hntA y=jhintB.x=x;hintB. =y;

et   alse;

}

}

}

}

 trn re

4 3其它相关技术的实现

键盘事件响应

连连看是通过鼠标左键来控制游戏的运行,那么是具体如何实现的呢这就需要用到键盘的左击事件,通过响应鼠标的按下事件来实现。玩家通过鼠标左键来控制图片的点击。具体代码实现:通过重新实现虚函数GameWinow :keyessven QeyE nt *een 来响应相应的键盘按键事件。

五 游戏的测试

5.1选项按钮的功能测试

Ceraus24元/月,国庆促销 香港云上新首月五折

Ceraus数据成立于2020年底,基于KVM虚拟架构技术;主营提供香港CN2、美国洛杉矶CN2、日本CN2的相关VPS云主机业务。喜迎国庆香港上新首月五折不限新老用户,cera机房,线路好,机器稳,适合做站五折优惠码:gqceraus 续费七五折官方网站:https://www.ceraus.com香港云内存​CPU硬盘流量宽带优惠价格购买地址香港云2G2核40G不限5Mbps24元/月点击购买...

江苏云服务器 2H2G 20M 79元/月 大宽带159元/月 高性能挂机宝6元/月 香港CN2 GIA、美国200G防御 CN2 GIA 折后18元/月 御速云

介绍:御速云成立于2021年的国人商家,深圳市御速信息技术有限公司旗下品牌,为您提供安全可靠的弹性计算服务,随着业务需求的变化,您可以实时扩展或缩减计算资源,使用弹性云计算可以极大降低您的软硬件采购成本,简化IT运维工作。主要从事VPS、虚拟主机、CDN等云计算产品业务,适合建站、新手上车的值得选择,拥有华东江苏、华东山东等国内优质云产品;香港三网直连(电信CN2GIA联通移动CN2直连);美国高...

野草云提供适合入门建站香港云服务器 年付138元起 3M带宽 2GB内存

野草云服务商在前面的文章中也有多次提到,算是一个国内的小众服务商。促销活动也不是很多,比较专注个人云服务用户业务,之前和站长聊到不少网友选择他们家是用来做网站的。这不看到商家有提供香港云服务器的优惠促销,可选CN2、BGP线路、支持Linux与windows系统,支持故障自动迁移,使用NVMe优化的Ceph集群存储,比较适合建站用户选择使用,最低年付138元 。野草云(原野草主机),公司成立于20...

4399宠物连连看2.5为你推荐
哈利波特罗恩升级当爸哈利波特2为啥赫敏只抱哈利波特不抱罗恩。只是握手!!!这……rawtools闪迪32Gsd卡,无法格式化,显示只有30M,并且是raw格式。如何恢复?同ip站点同IP网站具体是什么意思,能换独立的吗sss17.com一玩棋牌吧(www.17wqp.com)怎么样?抓站工具大家在家用什么工具练站?怎么固定?面壁思过?在医院是站站立架www.hyyan.comDOTA6.51新手选什么英雄为好,请详细讲述出装备顺序,加点顺序,以及注意事项。谢谢66smsm.comffff66com手机可以观看视频吗?javlibrary.comImage Library Sell Photos Digital Photos Photo Sharing Photo Restoration Digital Photos Photo Albums官人放题戴望舒的《狱中题壁》恶魔兜兜恶魔圈怎么选癫狂
深圳域名注册 购买域名和空间 新秒杀 美国主机网 中国电信测速网 gtt 爱奇艺会员免费试用 服务器硬件防火墙 路由跟踪 什么是web服务器 中国电信测速网站 香港博客 windowsserver2008 web是什么意思 发证机构 网络安装 装修瓦工招聘 kosspp 上海服务器托管 ibm服务器机柜 更多