• 大小: 2.57MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-15
  • 语言: C/C++
  • 标签: 翻牌  

资源简介

本程序设计的是一款翻牌类游戏,运行后会出现一个界面,当你鼠标去点击图片的时候,如果连续出现3个一样的图片,者图片显示出来,否则图片又重新盖上。

资源截图

代码片段和文件信息

#include “Bitmap.h“


Bitmap::Bitmap(HDC hDC LPTSTR szFileName) : m_hBitmap(NULL) m_iWidth(0) m_iHeight(0)
{
LoadFromFile(hDC szFileName);
}

// Create a bitmap from a resource
Bitmap::Bitmap(HDC hDC UINT uiResID HINSTANCE hInstance): m_hBitmap(NULL) m_iWidth(0) m_iHeight(0)
{
Create(hDC uiResID hInstance);
}

Bitmap::Bitmap(HDC hDC int iWidth int iHeight COLORREF crColor): m_hBitmap(NULL) m_iWidth(0) m_iHeight(0)
{
Create(hDC iWidth iHeight crColor);
}

Bitmap::~Bitmap()
{
Free();
}

void Bitmap::Free()
{
if (m_hBitmap != NULL)
{
Deleteobject(m_hBitmap);
m_hBitmap = NULL;
}
}

BOOL Bitmap::LoadFromFile(HDC hDC LPTSTR szFileName)
{
Free();

HANDLE hFile = CreateFile(
szFileName 
GENERIC_READ 
FILE_SHARE_READ 
NULL
OPEN_EXISTING 
FILE_ATTRIBUTE_NORMAL 
NULL
);
if(hFile == INVALID_HANDLE_VALUE)
return false;

BITMAPFILEHEADER bmfHeader;//位图文件头信息
DWORD dwBytesRead;
int bval = ReadFile(hFile &bmfHeadersizeof(BITMAPFILEHEADER)&dwBytesRead NULL);
if( (!bval) || (dwBytesRead!=sizeof(BITMAPFILEHEADER)) || (bmfHeader.bfType!=0x4D42))
{
CloseHandle(hFile);
Free();
return false;
}

BITMAPINFO bmi;
bval = ReadFile(hFile &bmi sizeof(BITMAPINFOHEADER) &dwBytesRead NULL);
if( (!bval) || (dwBytesRead!=sizeof(BITMAPINFOHEADER)))
{
CloseHandle(hFile);
Free();
return false;
}

m_iWidth = (int)bmi.bmiHeader.biWidth;
m_iHeight = (int)bmi.bmiHeader.biHeight;

m_hBitmap = (HBITMAP)LoadImage(NULL szFileName IMAGE_BITMAP 00LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(m_hBitmap == NULL)
return false;

return true;
}

BOOL Bitmap::Create(HDC hDC int iWidth int iHeight COLORREF crColor)
{
m_hBitmap = CreateCompatibleBitmap(hDC iWidth iHeight);
if (m_hBitmap == NULL)
return false;

m_iWidth = iWidth;
m_iHeight = iHeight;

HDC hMemDC = CreateCompatibleDC(hDC);

HBRUSH hBrush = CreateSolidBrush(crColor);

HBITMAP hOldBitmap = (HBITMAP)Selectobject(hMemDC m_hBitmap);

RECT rcBitmap = { 0 0 m_iWidth m_iHeight };
FillRect(hMemDC &rcBitmap hBrush);

Selectobject(hMemDC hOldBitmap);

DeleteDC(hMemDC);
Deleteobject(hBrush);

return true;
}

void Bitmap::Draw(HDC hDC int x int y)
{
if (m_hBitmap != NULL)
{
HDC hMemDC = CreateCompatibleDC(hDC);

HBITMAP hOldBitmap = (HBITMAP)Selectobject(hMemDC m_hBitmap);

BitBlt(hDC x y m_iWidth m_iHeight hMemDC 0 0 SRCCOPY);

Selectobject(hMemDC hOldBitmap);
DeleteDC(hMemDC);
}
}

void Bitmap::Draw(HDC hDC int x int y bool bTrans COLORREF crTransColor)
{
DrawPart(hDC x y 00GetWidth() GetHeight() bTrans crTransColor);
}

void Bitmap::DrawPart(HDC hDC int x int y int xPart int yPartint wPart int hPart bool bTrans COLORREF crTransColor)
{
if (m_hBitmap != NULL)
{
HDC hMemDC = CreateCompatibleDC(hDC);

HBITMAP hOldBitmap = (HBITMAP)Selectobject(hMemDC

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4040  2010-12-03 18:38  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\兰俊峰.vcproj

     文件       1423  2010-12-03 18:43  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\兰俊峰.vcproj.lanjunfeng-PC.lanjunfeng.user

     文件       4796  2010-08-17 21:37  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Bitmap.cpp

     文件       1001  2010-08-17 21:37  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Bitmap.h

     文件       7738  2010-12-03 18:43  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Brainiac.cpp

     文件       6438  2010-12-03 18:40  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\BuildLog.htm

     文件        663  2010-12-03 18:38  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\兰俊峰.exe.embed.manifest

     文件     404480  2010-12-03 18:40  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\vc90.idb

     文件     118784  2010-12-03 18:40  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\vc90.pdb

     文件      37742  2010-12-03 18:38  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\Bitmap.obj

     文件        728  2010-12-03 18:38  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\兰俊峰.exe.embed.manifest.res

     文件        621  2010-12-03 18:40  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\兰俊峰.exe.intermediate.manifest

     文件         65  2010-12-03 18:40  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\mt.dep

     文件      29432  2010-12-03 18:40  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Debug\Brainiac.obj

     文件      49208  2010-12-03 18:28  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片12.bmp

     文件      49208  2010-12-03 18:25  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片1.bmp

     文件      49208  2010-12-03 18:25  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片2.bmp

     文件      49208  2010-12-03 18:26  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片3.bmp

     文件      49208  2010-12-03 18:26  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片4.bmp

     文件      49208  2010-12-03 18:26  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片5.bmp

     文件      49208  2010-12-03 18:27  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片6.bmp

     文件      49208  2010-12-03 18:27  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片7.bmp

     文件      49208  2010-12-03 18:27  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片8.bmp

     文件      49208  2010-12-03 18:28  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片9.bmp

     文件      49208  2010-12-03 18:28  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片10.bmp

     文件      49208  2010-12-03 18:28  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\图片11.bmp

     文件      49206  2010-11-01 00:20  兰俊峰 015(翻牌)\兰俊峰\兰俊峰\Res\TileBlank.bmp

     文件    7719936  2010-12-03 18:43  兰俊峰 015(翻牌)\兰俊峰\兰俊峰.ncb

     文件        893  2010-12-03 18:34  兰俊峰 015(翻牌)\兰俊峰\兰俊峰.sln

    ..A..H.      8192  2010-12-03 18:43  兰俊峰 015(翻牌)\兰俊峰\兰俊峰.suo

............此处省略12个文件信息

评论

共有 条评论

相关资源