资源简介
环境: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个文件信息
相关资源
- c++歌手评分系统 c++xiaochengxv
- 词法分析器源代码C++
- c++课程设计多功能计算器设计
- VS2010 C++学习:BMP图像文件处理,放大
- C++ RTSP/RTP流媒体客户端源码
- 杭电C++ 期末考试卷
- 自制FFT频谱分析软件
- c++语言-物流管理系统
- c++实现词法分析器
- 快速傅里叶变换的详细源代码C++
- 广工编译原理实验 PL0C++改进
- 华南理工大学2019年《数据结构与算法
- 2010-2011学年第2学期(2)期末考试试卷
- LR1分析法C语言子集编译器
- 学生信息管理系统C++202408
- 服装销售管理系统
- C++课程设计 宾馆管理系统 完整的报告
- linux环境下C语言实现的俄罗斯方块
- LR1分析表生成程序 c++
- 诊所信息管理系统设计报告
- Step by Step Skeletal Animation in C++ and Ope
- [编译原理实验]生成语法树,符号表,
- 仿真足球机器人比赛C++源代码.zip
- C++编写S-G滤波
- 模拟 Linux 文件系统 C++
- qt c++ 开发的俄罗斯方块
- C++获取GPS串口数据源代码.doc
- 编译原理实现词法分析和语法语义分
- 基于vc++的SVM
- 用C++实现DBSCAN聚类算法
评论
共有 条评论