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


C++ GameScene::getMapInfo方法代码示例

本文整理汇总了C++中GameScene::getMapInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ GameScene::getMapInfo方法的具体用法?C++ GameScene::getMapInfo怎么用?C++ GameScene::getMapInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GameScene的用法示例。


在下文中一共展示了GameScene::getMapInfo方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: IMDraw

void AIStatus::IMDraw()
{
    if(this->enabled == true)
    {
        GameScene* sc = (GameScene*) this->_pGs;
        //im cost numbers
        for(std::map<int, InfluenceMapNode>::iterator node = sc->getInfluenceMap()->getMap()->begin(); node != sc->getInfluenceMap()->getMap()->end(); ++node)
        {
            if(((InfluenceMapNode)node->second).cost > -1)
            {
                std::stringstream ss1;
                ss1 << ((InfluenceMapNode)node->second).cost; //+ ((InfluenceMapNode)node->second).pTower->GetStrength() ;
                Label * lbl = Label::create(ss1.str(), "Arial", 12, CCSizeMake(sc->getTiledMap()->getTileSize().width, sc->getTiledMap()->getTileSize().height), kCCTextAlignmentCenter);
                lbl->setPosition(sc->getMapInfo()->ConvertIdToPoint(node->first));
            
                Rect r = lbl->getBoundingBox();
                Sprite * spr = Sprite::create("sprite_Blue_10x10.png", r);
                spr->setPosition(sc->getMapInfo()->ConvertIdToPoint(node->first));
                spr->setOpacityModifyRGB(true);
                spr->setOpacity( 80 + (((InfluenceMapNode)node->second).cost / 10) );
            
                sc->getMapLayer()->addChild(spr);
                sc->getMapLayer()->addChild(lbl);
            
                //add it to the local pointers holder
                std::pair< Label*, Sprite* > p;
                p.first = lbl;
                p.second = spr;
                this->imNodes.insert(p);
            }
        }
    }
}
开发者ID:geofl,项目名称:tdai,代码行数:33,代码来源:AIStatus.cpp

示例2:

Radar::Radar(cocos2d::Layer & pGS, Point position)
{
    this->_pGs = &pGS;
    
    this->radarBg1 = Sprite::create("radarBG1.png");
    this->radarBg1->setPosition(position);
    
    GameScene* gs = (GameScene*) _pGs;

    gs->addChild(radarBg1);
    
    //populate the vector with the size of the mapinfo
    for ( int i = 0; i < (gs->getMapInfo()->GetTilesPerLine() * gs->getMapInfo()->GetTilesPerColumn()); i++ )
    {
        this->map.push_back(RadarMapNode::Nothing);
    }
    
    
}
开发者ID:geofl,项目名称:tdai,代码行数:19,代码来源:Radar.cpp

示例3: DrawRoads

void AIStatus::DrawRoads()
{
    GameScene* sc = (GameScene*) this->_pGs;

    if(this->enabled == true)
    {
        //draw all roads
        ValueVector idd = sc->getMapInfo()->GetMapInfoTypeVec(MapInfoType::Road);
        for (auto& index: idd) {
            Label * lbl = Label::create("R", "Arial", 12, CCSizeMake(sc->getTiledMap()->getTileSize().width, sc->getTiledMap()->getTileSize().height), kCCTextAlignmentCenter);
            lbl->setPosition(sc->getMapInfo()->ConvertIdToPoint(index.asInt()));
            sc->getMapLayer()->addChild(lbl);
        
            std::pair < Label*, Sprite* > p;
            p.first = lbl;
            this->envNodes.insert(p);
        }
    }
}
开发者ID:geofl,项目名称:tdai,代码行数:19,代码来源:AIStatus.cpp

示例4: if

void GeneticAlgorithmProfile1::SimulationForward(ThreadData* td, AdditionalTowers& at)
{
    GameScene* gs = ((GameScene*)td->_sc);
    
    std::cout << "\[email protected]@@@@@@@@@@@@@@@@@@@@@@";
    std::cout << "\nADDITIONAL TOWERS DBG";
    
    td->bkCurrency = gs->playerHandler->GetCurrency();
    
    std::cout << "\nplayerMoney : " << gs->playerHandler->GetCurrency();
    
    //AI -> forward
    for ( int i = 0; i < 20; i++ )
    {
        //FIRST CASE : enough money for placing tower and upgrading it to an element
        if(gs->playerHandler->GetCurrency() >= (50 + 500))
        {
            Tower* n1 = new Tower(*gs, Settings::towerTexture, ((GameScene*)td->_sc)->playerHandler->tw);
            n1->setPosition(gs->getMapInfo()->GetRandomPointMidByType(MapInfoType::SimTowerPlace));
            
            n1->SetHitPositions(gs->getMapInfo());
            n1->SetStartingStats(Settings::towerAttackRange, Settings::towerAttackPoints, Settings::towerInbetweenAttacksPeriod, Settings::towerCost);
            
            at.additionalTowers.push_back(n1);
            
            gs->playerHandler->RemoveCoins(Settings::towerCost);
            
            
            if(gs->playerHandler->GetCurrency() >= 500) //element can be upgraded
            {
                int numOfFire, numOfWater, numOfEarth, numOfShock = 0;
                for(int a = 0; a < at.additionalTowers.size(); a++ )
                {
                    if(at.additionalTowers[a]->GetElement() == ElementalAffinity::Fire)
                    {
                        numOfFire++;
                    }
                    else if(at.additionalTowers[a]->GetElement() == ElementalAffinity::Water)
                    {
                        numOfWater++;
                    }
                    else if(at.additionalTowers[a]->GetElement() == ElementalAffinity::Earth)
                    {
                        numOfEarth++;
                    }
                    else if(at.additionalTowers[a]->GetElement() == ElementalAffinity::Shock)
                    {
                        numOfShock++;
                    }
                }
                for ( std::list<Tower*>::iterator tower = gs->towerslist.begin(); tower != gs->towerslist.end(); ++tower )
                {
                    Tower* t = *tower;
                    if(t->GetElement() == ElementalAffinity::Fire)
                    {
                        numOfFire++;
                    }
                    else if(t->GetElement() == ElementalAffinity::Water)
                    {
                        numOfWater++;
                    }
                    else if(t->GetElement() == ElementalAffinity::Earth)
                    {
                        numOfEarth++;
                    }
                    else if(t->GetElement() == ElementalAffinity::Shock)
                    {
                        numOfShock++;
                    }
                }
                
                
                if(numOfEarth < numOfFire && numOfEarth < numOfWater && numOfEarth < numOfShock)
                {
                    if(n1->UpgradeToEarth(gs->playerHandler))
                    {
                        gs->playerHandler->RemoveCoins(n1->toweRules->GetEarthUpgradeCost());
                        //now upgrade atk spd
                        while ( gs->playerHandler->GetCurrency() >= n1->toweRules->GetAttackUpgradeCost(*n1) ||
                               gs->playerHandler->GetCurrency() >= n1->toweRules->GetSpeedUpgradeCost(*n1) )
                        {
                            
                            if(n1->UpgradeAttackPower(gs->playerHandler))
                            {
                                gs->playerHandler->RemoveCoins(n1->toweRules->GetAttackUpgradeCost(*n1));
                            }
                            
                            if(n1->UpgradeAttackSpeed(gs->playerHandler))
                            {
                                gs->playerHandler->RemoveCoins(n1->toweRules->GetSpeedUpgradeCost(*n1));
                            }
                        }
                        
                    }
                    
                }
                else if(numOfFire < numOfEarth && numOfFire < numOfWater && numOfFire < numOfShock)
                {
                    if(n1->UpgradeToFire(gs->playerHandler))
                    {
//.........这里部分代码省略.........
开发者ID:geofl,项目名称:tdai,代码行数:101,代码来源:GeneticAlgorithmProfile1.cpp


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