资源简介
非常好的扫雷项目,注解清晰。用跨平台的工具qt 实现。
自己写的,项目有详细注释。
代码片段和文件信息
#include “cellitem.h“
#include “sweepminesscene.h“
#include “sweepminesapp.h“
#include “field.h“
#include
QPixmap * CellItem::initial = 0;
QPixmap * CellItem::blank = 0;
QPixmap * CellItem::question = 0;
QPixmap * CellItem::flag = 0;
QPixmap * CellItem::explode = 0;
QPixmap * CellItem::digits[9] = {0};
unsigned CellItem::refCount = 0;
CellItem::CellItem(int xint y)
:cx(x)
cy(y)
state(CIS_INITIAL)
{
refCount++;
if(refCount == 1)//在第一个items对像创建时,生成图片对像
{
initial = new QPixmap(“:/image/initial.jpg“);
blank = new QPixmap(“:/image/blank.jpg“);
question = new QPixmap(“:/image/question.jpg“);
flag = new QPixmap(“:/image/flag.jpg“);
explode = new QPixmap(“:/image/explode.jpg“);
QString preFix(“:/image/“);
QString postFix(“.jpg“);
QString fileNamenum;
for(int i=1; i<9; i++)
{
num.setNum(i);
fileName = preFix;
fileName += num;
fileName += postFix;
digits[i] = new QPixmap(fileName);
}
}
setPixmap(*initial);
}
CellItem::~CellItem()
{
refCount--;
if(refCount == 0)//在最后一个items对像销毁时,销毁图片对像
{
delete initial;
delete blank;
delete question;
delete flag;
delete explode;
for(int i=1; i<9; i++)
{
delete digits[i];
}
}
}
void CellItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
if(state == CIS_SWEPT)
return ;
switch(event->button())
{
case Qt::LeftButton:
switch(state)
{
case CIS_INITIAL:
setPixmap(*blank);
break;
case CIS_FLAG:
return ;
case CIS_QUESTION:
setPixmap(*blank);
state = CIS_INITIAL;
break;
default:
break;
}
break;
case Qt::RightButton:
{
switch(state)
{
case CIS_INITIAL:
setPixmap(*flag);
state = CIS_FLAG;
break;
case CIS_FLAG:
setPixmap(*question);
state = CIS_QUESTION;
break;
case CIS_QUESTION:
setPixmap(*initial);
state = CIS_INITIAL;
break;
default:
break;
}
}
break;
default:
break;
}
}
void CellItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
if(state == CIS_SWEPT||state == CIS_FLAG)
return;
switch(event->button())
{
case Qt::LeftButto
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4011 2013-03-10 10:31 SweepMines\cellitem.cpp
文件 955 2013-03-10 10:30 SweepMines\cellitem.h
文件 306413 2013-03-10 11:49 SweepMines\debug\cellitem.o
文件 291202 2013-03-10 11:49 SweepMines\debug\field.o
文件 37809 2013-03-10 11:49 SweepMines\debug\game.o
文件 183772 2013-03-10 11:49 SweepMines\debug\main.o
文件 249527 2013-03-10 12:06 SweepMines\debug\mainwindow.o
文件 228304 2013-03-11 10:01 SweepMines\debug\minescustomdialog.o
文件 3303 2013-03-10 11:49 SweepMines\debug\moc_mainwindow.cpp
文件 186138 2013-03-10 11:49 SweepMines\debug\moc_mainwindow.o
文件 2551 2013-03-10 15:03 SweepMines\debug\moc_minescustomdialog.cpp
文件 191709 2013-03-10 15:03 SweepMines\debug\moc_minescustomdialog.o
文件 2498 2013-03-10 11:49 SweepMines\debug\moc_sweepminesapp.cpp
文件 128908 2013-03-10 11:49 SweepMines\debug\moc_sweepminesapp.o
文件 2538 2013-03-10 11:49 SweepMines\debug\moc_sweepminesscene.cpp
文件 188487 2013-03-10 11:49 SweepMines\debug\moc_sweepminesscene.o
文件 655169 2013-03-10 11:49 SweepMines\debug\qrc_image.cpp
文件 139473 2013-03-10 11:49 SweepMines\debug\qrc_image.o
文件 6136031 2013-03-11 10:01 SweepMines\debug\SweepMines.exe
文件 109653 2013-03-10 11:49 SweepMines\debug\sweepminesapp.o
文件 391135 2013-03-10 14:33 SweepMines\debug\sweepminesscene.o
文件 1838 2013-03-10 11:15 SweepMines\field.cpp
文件 847 2013-03-10 11:13 SweepMines\field.h
文件 117 2013-03-05 11:06 SweepMines\game.cpp
文件 303 2013-03-05 12:03 SweepMines\game.h
文件 9779 2011-08-03 19:41 SweepMines\image\1.jpg
文件 9619 2011-08-03 19:41 SweepMines\image\2.jpg
文件 10193 2011-08-03 19:41 SweepMines\image\3.jpg
文件 9800 2011-08-03 19:40 SweepMines\image\4.jpg
文件 10403 2011-08-03 19:40 SweepMines\image\5.jpg
............此处省略36个文件信息
- 上一篇:gdb manual
- 下一篇:王桂林老师 cocos2dx课件.pdf
相关资源
- Linux下Flow-tools和NetFlowExporter的安装和
- QT实现的MP3播放器
- Linux C编程从初学到精通》源码
- 软件开发文档书写规范
- m4 for linux
- linux源代码分析之内存管理
- Qt从入门到精通PDF
- AIX平台数据库迁移到Linux环境(真实环
- QT写的超市管理系统
- qt+opencv的视频采集 与保存
- linux系统下基于QT的usb摄像头视频采集
- QT简单的记事本
- BES 快速入门手册
- 二维码的生成与解析
- RTL8188E的Linux驱动源码+移植调试步骤记
- CentOS 7 Linux Server Cookbook 2nd Edition.pdf
- 真正编译好的poppler-qt4
- vos2009 2.1.2.0 完美注册机linux
- Forxit Reader for Desktop Linux (FoxitReader
- qt 360界面源码
- 基于QT制作的音乐播放器
- linux文件系统操作系统课程设计
- 虚拟机安装Linux系统
- 老男孩Linux运维笔记--文字版
- STM32+ESP8266+MQTT接入OneNet 通过手机APP控
- Qt + VS环境下,利用avilib实现简单的录
- LINUX内核源代码情景分析_完整完美版
- Essential Linux Device Drivers.pdf
- 《Linux基础千锤百炼》v2.pdf
- Linux API 帮助文档
评论
共有 条评论