#include "llk.h"
#include <QTime>
#include <iostream>
using namespace std;
Llk::Llk()
{
// setMaximumsize(240,320);
//setMinimumsize(240,320);
count = 0 ;
for(int i=0;i<HANG;++i)//waicengkongzhihangneicengkongzhilie
{
for(int j=0;j<LIE;++j)
{
label[i][j]=new QLabel("Text",this);
label[i][j]->setGeometry(j*40,i*40,40,40);
name[i][j]=-1;
}
}
for(int i=0;i<HANG;++i)
{
for(int j=0;j<LIE;++j)
{
rand_x=rand()%HANG;
rand_y=rand()%LIE;
if(name[rand_x][rand_y] >= 0 )
{
--j;
continue;
}
name[rand_x][rand_y]=j;
char fileName[10];
sprintf(fileName,"./images/%d.bmp",j);
label[rand_x][rand_y]->setPixmap(QPixmap(fileName));
}
}
pointA.setHang(-1);
}
void Llk::link(int x1,int y1,int x2,int y2)
{
if((x1==x2&&y1==y2)||name[x1][y1]!=name[x2][y2])
{
}
else
{
if(road1(x1,y1,x2,y2))//一条线
{
name[x1][y1] = -1;
name[x2][y2] = -1;
label[x1][y1] -> setVisible(false);
label[x2][y2] -> setVisible(false);
count += 2;
printf("count = %d\n",count);
if(count == 48)
{
exit(0);
}
}
// if(road2())//两条线
// if(road3())//三条线
}
}
bool Llk::road1(int x1,int y1 , int x2, int y2)
{
int mini;
int maxi;
if((x1 == x2)&&(y1 != y2))
{
mini = y1<y2 ? y1 :y2 ;
maxi = y1<y2 ? y2 :y1 ;
for(int i = mini + 1 ; i < maxi ; i++)
{
if(name[x1][i]==-1)
{
continue ;
}
else
{
return false;
}
}
}
else if((y1 == y2 )&& (x1 != x2))
{
mini = x1<x2 ? x1 :x2 ;
maxi = x1<x2 ? x2 :x1 ;
for(int i = mini + 1 ; i < maxi ; i++)
{
if(name[i][y1]==-1)
{
continue ;
}
else
{
return false;
}
}
}
else
{
return false;
}
return true;
}
void Llk::mousePressEvent(QMouseEvent *event)
{
int hang = event->y()/40;
int lie = event->x()/40;
cout<<"x = "<< hang << ", y = "<<lie<<endl;
if(pointA.Hang()==-1)
{
pointA.setHang(hang);
pointA.setLie(lie);
}
else
{
pointB.setHang(hang);
pointB.setLie(lie);
cout<<"Bx="<<pointB.Hang()<<endl;
link(pointA.Hang(),pointA.Lie(),pointB.Hang(),pointB.Lie());
pointA.setHang(-1);
}
}
llk.zip_LLK QT_LLK 编译_llk_qt连连看
版权申诉
198 浏览量
2022-09-21
17:47:55
上传
评论
收藏 89KB ZIP 举报
JaniceLu
- 粉丝: 78
- 资源: 1万+
最新资源
- 对Hibernate框架的二次封装,简化对数据库的操作
- 5152单片机proteus仿真和源码用定时器T1查询方式控制单片机发出1KHz音频
- 由 Top10 开发和使用的惯用 Scala Redis 客户端 这是一项正在进行的工作,虽然在生产中使用,但应将其视为在生产中
- SwiftUI - SceanAppDelegate
- SwiftUI - AppDelegate
- Cetus是由C语言开发的关系型数据库MySQL的中间件,主要提供了一个全面的数据库访问代理功能
- 5152单片机proteus仿真和源码用定时器T0的中断实现渴望主题曲的播放
- 数据库垂直分区,业务逻辑层 配合数据库中间件实现水平分区和垂直分区
- 5152单片机proteus仿真和源码用定时器T0的中断控制1位LED闪烁
- 这是用于在 Akka 集群中复制数据的库的早期预览 它是一个复制的内存数据存储,支持低延迟和高可用性 要求
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈