本文整理汇总了C++中CBlock::getBlockType方法的典型用法代码示例。如果您正苦于以下问题:C++ CBlock::getBlockType方法的具体用法?C++ CBlock::getBlockType怎么用?C++ CBlock::getBlockType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBlock
的用法示例。
在下文中一共展示了CBlock::getBlockType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: vec
void CIBlockBuilder::use() {
//FIXME: errors with keylock???
if (getOwner()->getMoney() >= CBlock::BlockCosts[m_BlockType]) {//player has enough money
//get field next to worm
CVec vec(getOwner()->getRect());
if (getOwner()->getOrientation() == ORIGHT)
vec.x += (getOwner()->getRect().w + BLOCKSIZE);//next block
else
vec.x -= BLOCKSIZE;
CBlockKoord pos = vec.toBlockKoord();
//is field free???
CBlock* buildingBlock = m_pGame->getBlock(pos);
if ( (buildingBlock != NULL)
&& (buildingBlock->getBlockType() == CBlock::AIR)
&& (g_pPhysics->isEmpty(pos)) ) {
if (m_pGame->BuildBlock(pos, m_BlockType,
getOwner()->getWormID(), getOwner()->getTeamID())) {
getOwner()->changeMoneyBy(-CBlock::BlockCosts[m_BlockType]);
getOwner()->changePointsBy(1);
getOwner()->m_BuiltBlocks.push_back(pos);
g_pLogfile->fTextout("</br >Built BLock: "+CBlock::getBlockTypeString(m_BlockType)+" Costs:%i", CBlock::BlockCosts[m_BlockType]);
}
}
}
}
示例2: getBlockType
CBlock::BlockType CPhysics::getBlockType(CVec &vec) {
CBlock* b;
b= m_pGame->getBlock(vec.toBlockKoord());
if (b != NULL) //vec existiert tats�chlich!
return b->getBlockType();
else
return CBlock::NORMAL;
}
示例3: ProcessMining
void CWorm::ProcessMining() {//HINT Mining without item!
if (g_pFramework->KeyDown(m_pSettings->KeyMine)) {
//get Block under Worm!
CVec vec(getRect());
vec.x += getRect().w/2;//Block UNDER worm
CBlockKoord pos = vec.toBlockKoord();
pos.y++;//Block UNDER worm
CBlock* miningBlock = m_pGame->getBlock(pos);//returns NULL if for example out of Gameboard
if (miningBlock != NULL) {
int miningBlockTeamID = miningBlock->getTeamID();
int miningBlockBuilderID = miningBlock->getBuilderID();
if ( ((miningBlockTeamID == NOBODY) || (miningBlockTeamID == m_TeamID))//you can't mine other teams blocks
&& (miningBlock->getBlockType() != CBlock::AIR) ){
int newMoney = m_Money + CBlock::BlockCosts[miningBlock->getBlockType()]; //da blocktype sich dann ja ändert... bei buildblock
if (m_pGame->BuildBlock(pos, CBlock::AIR, m_WormID, m_TeamID)) { //block konnte gebaut werden!:
m_Money = newMoney;
m_Points++;
g_pLogfile->fTextout(BLUE, false, "Mined Block");
//delete block from playerlist!
if (miningBlockBuilderID != NOBODY) {
list<CBlockKoord>::iterator it;
for (it = m_BuiltBlocks.begin();
(it != m_BuiltBlocks.end()) && ((*it) != pos);
++it) /*nothing*/;
m_BuiltBlocks.erase(it);
//m_pGame->m_vWorms.at(miningBlockBuilderID)->m_BuiltBlocks.erase();
}
}
}
} else g_pLogfile->Textout("<br /> Couldn't mine Block because miningBlock == NULL");
}//Keydown
//FIXME: use keylock also for useitem keys and so on....
}
示例4: update
void CAA_DragonFire::update() {
if (getLastCollisionX().bIsCollision) {
CBlockKoord blockKoord;
CVec vec = CVec( getRect().x+(m_bOrientation == OLEFT ? -3.0f : getRect().w+3.0f), //x
getRect().y + 50.0f); //y
blockKoord = vec.toBlockKoord();
CBlock * pOldBlock = m_pGame->getBlock(blockKoord);
if ((pOldBlock != NULL) && (pOldBlock->getBlockType() != CBlock::AIR)) {
m_pGame->BuildBlock(blockKoord, CBlock::AIR, m_WormID, m_TeamID);
}
//TODO: save map in xml...
}
}