Exemple #1
0
void MarketScene::checkCard(int index)
{
	CCMenu *pMenu = (CCMenu *)this->getChildByTag(TAG_MENU);

	char szFileName[32] = { 0 };
	for (int i = 0; i < CARD_COUNT; i++)
	{
		int tag = BTN_CARD + i;
		CCMenuItemToggle *pToggle = (CCMenuItemToggle *)pMenu->getChildByTag(tag);

		if (tag == index)
		{
			selectedIndex = index;
			pToggle->setSelectedIndex(1);
			pToggle->setEnabled(false);
			sprintf(szFileName, s_pathCardInfo.m_strPath, i);

			int price = getPrice(tag);
			updateLabelAtlas(price, LabelAtlas_PRICE);

			CCMenuItemImage *pMenuItem = (CCMenuItemImage *)pMenu->getChildByTag(BTN_BUY);
			if (g_Control.cards[i] <= 0 && g_Control.m_nCoin > price)
			{
				pMenuItem->setEnabled(true);
			}
			else
			{
				pMenuItem->setEnabled(false);
			}
		}
		else
		{
			pToggle->setSelectedIndex(0);
			pToggle->setEnabled(true);
		}
	}

	this->removeChildByTag(CARD_INFO);
	CCSprite *pcdSprite = CCSprite::create(szFileName);
	pcdSprite->setPosition(s_pathCardInfo.m_Position);
	pcdSprite->setTag(CARD_INFO);
	this->addChild(pcdSprite);
	pcdSprite->runAction(CCSequence::create(CCSpawn::create(CCScaleTo::create(0.2f, 1.0f), CCFadeTo::create(0.2f, 255), NULL), NULL));
}
bool BossSnakePlay::init() {
    if (!SnakesPlay::init())
        return false;

    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();

    // init the map
    VirtualMap::init();

	BarrierFactory barrierfactory;
	m_barrier = barrierfactory.createBarrier(this,BarrierFactory::BARRIER_TYPE_BOSS);

    // create snakes
	SnakeFactory snakefactory;
	Snake *snake = snakefactory.createSimpleSnake(this,SnakeFactory::SNAKEIMG_TYPE_WHITE,1);
    m_snakes.push_back(snake);
	snake = snakefactory.createBossSnake(this,SnakeFactory::SNAKEIMG_TYPE_BOSS,2);
    m_snakes.push_back(snake);

	// generate food
    FoodFactory *foodfactory = new MultiFoodFactory();
	m_food = foodfactory->createFood(this);
    m_food->generate();

	// create control
	m_controls.push_back(new HumanControl());
    m_controls.push_back(m_food);

    // game control button
    m_stopFlag = false;
    CCMenuItemImage *StopGameItem = CCMenuItemImage::create("buttons/pause.png", "buttons/pause.png");
    CCMenuItemImage *StartGameItem = CCMenuItemImage::create("buttons/play.png", "buttons/play.png");
    CCMenuItemToggle *StopOrStartItem = CCMenuItemToggle::createWithTarget(this,menu_selector(SnakesPlay::StopGameCallback), StopGameItem,StartGameItem, NULL);
    StopOrStartItem->setEnabled(true);
    StopOrStartItem->setScale(0.5);

    CCMenu* itemToggleMenu = CCMenu::create(StopOrStartItem, NULL);
    itemToggleMenu->setPosition(ccp(visibleSize.width-20, 20));
    this->addChild(itemToggleMenu, 1);

    this->schedule(schedule_selector(BossSnakePlay::scheUpdate),m_updateTime);

    return true;
}