资源简介
环境: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个文件信息
相关资源
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
- c++ 虚拟摄像头
- hook,捕获所有案件,查找所有窗口,
- C语言课设计算器
- c++ 简易贪吃蛇源码
- 高精度加法(c++代码)
- C++调用百度地图案例
- 北京化工大学计算方法(C/C++)讲义
- 基于VC++的SolidWorks二次开发SolidWorks
- c++ 模拟鼠标按键
- VC6 USB开发源码
- OFD编辑器
- Beginning C++17 From Novice to Professional
- C++ STL实现
- 俄罗斯方块游戏源码(Tetris)
- opencv手部轮廓识别以及轨迹识别
- 百度C++编码规范
- C++ sql2008 WebServer通讯.docx
- c++ 定时关机程序源码
- 基于VSCode和CMake实现C++开发
- c++语法查询工具
- VC操作SQLSERVER数据库
- c++ 账务系统源码
评论
共有 条评论