• 大小: 181KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-25
  • 语言: 其他
  • 标签: 小游戏  

资源简介

连连看游戏,win32应用程序实现,简单的一些图片绘制显示而已,其中的联通算法思路比较清晰,容易理解,是一个游戏教程的,这里我把它换成win32实现

资源截图

代码片段和文件信息

#include “bitmaptool.h“

MYBITMAP::~MYBITMAP()
{
Deleteobject(hBm);
}

void MYBITMAP::Init(HINSTANCE hInstanceint iResourceint rowint col)
{
BITMAP bm;
inum=row;
jnum=col;

hBm=LoadBitmap(hInstanceMAKEINTRESOURCE(iResource));
Getobject(hBmsizeof(BITMAP)&bm);

width=bm.bmWidth/inum;
height=bm.bmHeight/jnum;
}

void MYBITMAP::SetDC(HDC hdestHDC hsrc)
{
hdcdest=hdest;
hdcsrc=hsrc;
}

void MYBITMAP::SetWindow_width_height(int xint y)
{
screenwidth=x;
screenheight=y;
}

void MYBITMAP::Show(int xint yint xframe int yframe)
{
xpos=x;
ypos=y;
Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheighthdcsrcxframe*widthyframe*heightSRCCOPY);
}

void MYBITMAP::Show()
{

Selectobject(hdcsrchBm);
// ::StretchBlt (hdcdest00xposyposhdcsrc00widthheightSRCCOPY); //缩放

BitBlt(hdcdestxposyposwidthheighthdcsrcxframenow*widthyframenow*heightSRCCOPY);
}

// 去背显示
void MYBITMAP::Draw(int xint yint xframe int yframe)
{
Selectobject(hdcsrchBm);
BitBlt(hdcdestxy
widthheight
hdcsrcxframe*widthheightSRCAND);

BitBlt(hdcdestxy
widthheight
hdcsrcxframe*width0SRCPAINT);
}

void MYBITMAP::ShowCenter(int yint iframe)
{
xpos=(screenwidth-width)/2;
ypos=y;

Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheighthdcsrciframe*width0SRCCOPY);
}
void MYBITMAP::ShowCenter(int y)
{
xpos=(screenwidth-width)/2;
ypos=y;

Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheighthdcsrcxframenow*width0SRCCOPY);
}

void MYBITMAP::ShowLoop(int leftint topint rightint bottomint iframe)
{
int ij;

Selectobject(hdcsrchBm);
for(j=top;j {
for(i=left;i {
BitBlt(hdcdestijwidthheighthdcsrciframe*width0SRCCOPY);
}
}
}

void MYBITMAP::ShowNoBackX(int xint yint iframe)
{

Selectobject(hdcsrchBm);
BitBlt(hdcdestxy
widthheight
hdcsrciframe*widthheightSRCAND);

BitBlt(hdcdestxy
widthheight
hdcsrciframe*width0SRCPAINT);
}

void MYBITMAP::ShowNoBackY(int xint yint iframe)
{
Selectobject(hdcsrchBm);
BitBlt(hdcdestxy
widthheight
hdcsrcwidthiframe*heightSRCAND);

BitBlt(hdcdestxy
widthheight
hdcsrc0iframe*heightSRCPAINT);
}


void MYBITMAP::ShowNoBackLoop(int xint yint iframeint iNum)
{
int i;
xpos=x;
ypos=y;
Selectobject(hdcsrchBm);
for(i=0;i {
BitBlt(hdcdestxpos+i*widthyposwidthheight/2hdcsrciframe*widthheight/2SRCAND);
BitBlt(hdcdestxpos+i*widthyposwidthheight/2hdcsrciframe*width0SRCPAINT);
}
}


int MYBITMAP::MouseOut(int xint y)
{
if(x(xpos+width) || y(ypos+height))
xframenow=0;

return 1;
}
int MYBITMAP::MouseOver(int xint y)
{
if(x(xpos+width) || y(ypos+height))
return 0;

xframenow=1;
return 1;
}

int MYBITMAP::De

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

     文件     774199  2012-05-03 15:57  可执行程序\LLK.exe

     文件     386622  2012-01-03 22:37  animal.bmp

     文件      54934  2012-01-03 22:37  BACK.bmp

     文件       9855  2012-05-03 15:57  bitmaptool.cpp

     文件       4700  2012-01-12 23:23  bitmaptool.h

     文件       6524  2012-05-07 14:11  LLK.CPP

     文件       4574  2012-01-07 23:39  LLK.dsp

     文件        514  2011-12-18 21:13  LLK.dsw

     文件        111  2012-01-09 21:15  LLK.H

     文件      74752  2012-05-07 14:11  LLK.ncb

     文件      51712  2012-05-07 14:11  LLK.opt

     文件       2163  2012-01-08 22:54  LLKRESOURD.RC

     文件        635  2012-01-08 22:54  resource.h

     文件       9168  2012-01-20 15:25  SKY_LLK.CPP

     文件       2098  2012-01-13 23:28  SKY_LLK.H

     文件        318  2011-12-18 22:31  small.ico

     文件        216  2012-01-12 23:10  StdAfx.h

     目录          0  2012-05-07 14:10  可执行程序

     目录          0  2012-05-07 14:12  Debug

----------- ---------  ---------- -----  ----

              1383095                    19


评论

共有 条评论