资源简介
环境: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++头文件转delphi工具 + 源码
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- MFC数字钟(基于VC6.0)
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC6LineNumberAddin.dll
- 用VC6.0实现多边形扫描线填充算法
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- VC助手 VC6.0助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
川公网安备 51152502000135号
评论
共有 条评论