資源簡介
環(huán)境:VC6.0
完整工程 + 詳細(xì)開發(fā)文檔 + 可執(zhí)行文件。
本程序僅供研究學(xué)習(xí)之用!

代碼片段和文件信息
#pragma?once
#include?“stdafx.h“
#include?“GameDate.h“
#include?“Resource.h“
/****************************************
Class?CBlock
****************************************/
CBlock::CBlock(BLOCKstyle?style?CDC?*?pDC?HWND?hwnd)
{
int?iCnt;
for?(iCnt?=?0;?iCnt?16;?++iCnt)
*(m_szBlock[0]?+?iCnt)?=?0;
switch?(style)
{
case?IBLOCK:
for?(iCnt?=?0;?iCnt?4;?++iCnt)
this->m_szBlock[iCnt][2]?=?1;
break;
case?TBLOCK:
m_szBlock[0][0]?=?2;
m_szBlock[0][1]?=?2;
m_szBlock[0][2]?=?2;
m_szBlock[1][1]?=?2;
break;
case?GBLOCK:
m_szBlock[1][1]?=?7;
m_szBlock[1][2]?=?7;
m_szBlock[2][1]?=?7;
m_szBlock[2][2]?=?7;
break;
case?LBLOCK:
m_szBlock[0][1]?=?3;
m_szBlock[1][1]?=?3;
m_szBlock[2][1]?=?3;
m_szBlock[2][2]?=?3;
break;
case?ZBLOCK:
m_szBlock[1][0]?=?5;
m_szBlock[1][1]?=?5;
m_szBlock[2][1]?=?5;
m_szBlock[2][2]?=?5;
break;
case?ILBLOCK:
m_szBlock[0][2]?=?4;
m_szBlock[1][2]?=?4;
m_szBlock[2][2]?=?4;
m_szBlock[2][1]?=?4;
break;
case?IZBLOCK:
m_szBlock[1][1]?=?6;
m_szBlock[1][2]?=?6;
m_szBlock[2][0]?=?6;
m_szBlock[2][1]?=?6;
break;
}
m_x?=?0;
m_y?=?0;
SetArea(0?0);
m_oldRect.SetRect(0000);
m_pDC?=?pDC;
m_hwnd?=?hwnd;
m_dcMem.CreateCompatibleDC(m_pDC);
m_bitmap.LoadBitmap(IDB_BITMAP1);
m_dcMem.Selectobject(&m_bitmap);
m_bitmap.Getobject(sizeof(BITMAP)?&m_bm);
}
CBlock::~CBlock()
{
m_bitmap.Deleteobject();
m_dcMem.DeleteDC();
}
void?CBlock::InitBlock(const?int?x?const?int?y)
{
m_x?=?x;
m_y?=?y;
}
void?CBlock::SetArea(const?CRect?rect)
{
m_rect?=?rect;
}
void?CBlock::SetArea(const?int?ixGridNum?const?int?iyGridNum)
{
m_rect.SetRect(ixGridNum?iyGridNum?ixGridNum?+?4?iyGridNum?+?4);
}
CRect?*?CBlock::GetArea()
{
return?&m_rect;
}
void?CBlock::MoveLeft()
{
m_rect.left--;
m_rect.right--;
}
void?CBlock::MoveRight()
{
m_rect.left++;
m_rect.right++;
}
void?CBlock::MoveDown()
{
m_rect.top++;
m_rect.bottom++;
}
void?CBlock::ShowBlock()
{
::InvalidateRect(m_hwnd?&m_oldRect?TRUE);
::UpdateWindow(m_hwnd);
for?(int?i?=?0;?i?4;?++i)
{
for?(int?j?=?0;?j?4;?++j)
{
if?(m_szBlock[i][j]?>?0)
{
m_pDC->BitBlt(m_x?+?(m_rect.left?+?j)?*?m_bm.bmWidth?m_y?+?(m_rect.top?+?i)?*?m_bm.bmWidth?
m_bm.bmWidth?m_bm.bmWidth?&m_dcMem?0?(m_szBlock[i][j]?-?1)?*?m_bm.bmWidth?SRCCOPY);
}
}
}
m_oldRect.SetRect(m_rect.left?*?m_bm.bmWidth?+?m_x
??m_rect.top?*?m_bm.bmWidth?+?m_y
??m_rect.right?*?m_bm.bmWidth?+?m_x
??m_rect.bottom?*?m_bm.bmWidth?+?m_y);
}
void?CBlock::Rotation(DIRECTION?directtion)
{
int?iCnt;
int?iTemp;
if?(directtion?==?REVERSE)
iTemp?=?12;?//逆時針
else
iTemp?=?3;?//順時針
char?szTemp[4][4]?=?{0};
for?(iCnt?=?0;?iCnt?16;?++iCnt)
{
*(szTemp[0]?+?iCnt)?=?*(m_szBlock[0]?+?iCnt);
*(m_szBlock[0]?+?iCnt)?=?0;
}
for?(iCnt?=?0;?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????720056??2012-10-31?23:05??C++俄羅斯方塊工程\Tetris\bm1.bmp
?????文件??????33656??2012-11-01?13:16??C++俄羅斯方塊工程\Tetris\button1.bmp
?????文件??????12578??2012-11-01?14:22??C++俄羅斯方塊工程\Tetris\GameDate.cpp
?????文件???????3129??2012-11-01?14:22??C++俄羅斯方塊工程\Tetris\GameDate.h
?????文件???????8454??2012-10-29?11:04??C++俄羅斯方塊工程\Tetris\Grid.bmp
?????文件???????3579??2012-10-28?17:52??C++俄羅斯方塊工程\Tetris\ReadMe.txt
?????文件???????1078??2012-10-28?17:52??C++俄羅斯方塊工程\Tetris\res\Tetris.ico
?????文件????????398??2012-10-28?17:52??C++俄羅斯方塊工程\Tetris\res\Tetris.rc2
?????文件????????819??2012-10-31?23:51??C++俄羅斯方塊工程\Tetris\resource.h
?????文件????????208??2012-10-28?17:52??C++俄羅斯方塊工程\Tetris\StdAfx.cpp
?????文件???????1054??2012-10-28?20:31??C++俄羅斯方塊工程\Tetris\StdAfx.h
?????文件?????798108??2012-11-01?13:25??C++俄羅斯方塊工程\Tetris\Tetris.aps
?????文件???????1515??2012-11-01?17:03??C++俄羅斯方塊工程\Tetris\Tetris.clw
?????文件???????2063??2012-10-28?17:52??C++俄羅斯方塊工程\Tetris\Tetris.cpp
?????文件???????4493??2012-11-01?17:03??C++俄羅斯方塊工程\Tetris\Tetris.dsp
?????文件????????518??2012-10-28?17:52??C++俄羅斯方塊工程\Tetris\Tetris.dsw
?????文件???????1324??2012-10-28?17:52??C++俄羅斯方塊工程\Tetris\Tetris.h
?????文件?????246784??2012-11-01?17:03??C++俄羅斯方塊工程\Tetris\Tetris.ncb
?????文件??????51712??2012-11-01?17:03??C++俄羅斯方塊工程\Tetris\Tetris.opt
?????文件???????1788??2012-11-01?16:08??C++俄羅斯方塊工程\Tetris\Tetris.plg
?????文件???????6502??2012-11-01?13:25??C++俄羅斯方塊工程\Tetris\Tetris.rc
?????文件???????6052??2012-11-01?15:10??C++俄羅斯方塊工程\Tetris\TetrisDlg.cpp
?????文件???????1509??2012-11-01?00:22??C++俄羅斯方塊工程\Tetris\TetrisDlg.h
?????文件?????987136??2012-11-01?16:08??C++俄羅斯方塊工程\Tetris.exe
?????文件?????544768??2012-11-01?17:07??C++俄羅斯方塊工程\Tetris開發(fā)文檔.doc
?????目錄??????????0??2012-11-01?17:05??C++俄羅斯方塊工程\Tetris\res
?????目錄??????????0??2012-11-01?17:05??C++俄羅斯方塊工程\Tetris
?????目錄??????????0??2012-11-01?17:07??C++俄羅斯方塊工程
-----------?---------??----------?-----??----
??????????????3439281????????????????????28
............此處省略1個文件信息
評論
共有 條評論