• 大小: 914KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-25
  • 语言: C/C++
  • 标签: C++  VC  游戏  

资源简介

环境:VC6.0 完整工程 + 详细开发文档 + 可执行文件。 本程序仅供研究学习之用!

资源截图

代码片段和文件信息

#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开发文档.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个文件信息

评论

共有 条评论