?? cblock.cpp
字號(hào):
#include "CBlock.h"
////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////
CBlock::CBlock()
{
m_Position.row = 0;
m_Position.col = 0;
m_iMaterialIndex = -1;
}
////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////
CBlock::~CBlock()
{
}
////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////
CBlock::CBlock( const CBlock &block )
{
m_Position.row = block.m_Position.row;
m_Position.col = block.m_Position.col;
m_iMaterialIndex = block.m_iMaterialIndex;
}
////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////
CBlock::CBlock( int row, int col, int iMat )
{
m_Position.row = row;
m_Position.col = col;
m_iMaterialIndex = iMat;
}
////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////
CBlock &CBlock::operator = ( const CBlock &block )
{
m_Position.row = block.m_Position.row;
m_Position.col = block.m_Position.col;
m_iMaterialIndex = block.m_iMaterialIndex;
return *this;
}
////////////////////////////////////////////////////////////////
//旋轉(zhuǎn)一個(gè)方塊,注意這里的行,和列分別代表y和x!
//Out_x = -In_y + Pos_y + Pos_x;
//Out_y = In_x - Pos_x + Pos_y;
/*旋轉(zhuǎn)矩陣:
| 0 1 0 |
| -1 0 0 |
| px+py -px+py 1 |
*/
////////////////////////////////////////////////////////////////
void BlockRotation( CBlock &newBlock, const POSITION &pos, const CBlock &oldBlock )
{
newBlock.m_Position.col = pos.row + pos.col - oldBlock.m_Position.row;
newBlock.m_Position.row = oldBlock.m_Position.col - pos.col + pos.row;
}
////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////
void BlockDrop( CBlock &newBlock, const CBlock &oldBlock )
{
newBlock.m_Position.row = oldBlock.m_Position.row - 1;
newBlock.m_Position.col = oldBlock.m_Position.col;
}
////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////
void BlockMovement( CBlock &newBlock, const CBlock &oldBlock, int iStep )
{
newBlock.m_Position.row = oldBlock.m_Position.row;
newBlock.m_Position.col = oldBlock.m_Position.col + iStep;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -