当前位置: 首页>>代码示例>>C++>>正文


C++ CBlock::getBlockType方法代码示例

本文整理汇总了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]);
			}
		}
	}
}
开发者ID:albertz,项目名称:Spill,代码行数:28,代码来源:IBlockBuilder.cpp

示例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;
}
开发者ID:albertz,项目名称:Spill,代码行数:8,代码来源:Physics.cpp

示例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....
}
开发者ID:xy124,项目名称:Spill,代码行数:37,代码来源:Worm.cpp

示例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...


	}

}
开发者ID:xy124,项目名称:Spill,代码行数:17,代码来源:CAA_DragonFire.cpp


注:本文中的CBlock::getBlockType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。