void gameLevel2::createSecondEnemy() { auto _enemyLayer = new EnemyLayer(); auto enemyLayer = _enemyLayer->create(Vec2(origin.x + visibleSize.width + enemy->getContentSize().width, origin.y + visibleSize.height - visibleSize.height / 4), soundState); enemyLayer->setPosition(Vec2(0, 0)); this->addChild(enemyLayer, 2); if (visibleSize.width < visibleSize.height) enemyLayer->setScale(1.2); enemy = _enemyLayer->getShip(); auto right = MoveTo::create(2, Vec2(origin.x + enemy->getContentSize().width, enemy->getPositionY())); auto left = MoveTo::create(2, Vec2(origin.x + visibleSize.width - enemy->getContentSize().width, enemy->getPositionY())); auto seq = Sequence::create(right, left, NULL); enemy->runAction(RepeatForever::create(seq)); enemyScore = 150; isEnemyReady = true; }
void gameLevel2::createThirdEnemy() { auto _enemyLayer = new EnemyLayer(); auto enemyLayer = _enemyLayer->create(Vec2(origin.x + visibleSize.width + enemy->getContentSize().width, origin.y + visibleSize.height - visibleSize.height / 4), soundState); enemyLayer->setPosition(Vec2(0, 0)); this->addChild(enemyLayer, 2); if (visibleSize.width < visibleSize.height) enemyLayer->setScale(1.2); enemy = _enemyLayer->getShip(); auto top = MoveTo::create(1, Vec2(enemy->getPositionX(), origin.y + visibleSize.height - visibleSize.height / 4)); enemy->runAction(top); enemyScore = 250; isEnemyReady = true; scheduleOnce(schedule_selector(gameLevel2::lastEnemyMovement), 1); }
bool BaseAI::startTurn() { static bool initialized = false; int count = 0; count = getShipTypeCount(c); shipTypes.clear(); shipTypes.resize(count); for(int i = 0; i < count; i++) { shipTypes[i] = ShipType(getShipType(c, i)); } count = getPlayerCount(c); players.clear(); players.resize(count); for(int i = 0; i < count; i++) { players[i] = Player(getPlayer(c, i)); } count = getShipCount(c); ships.clear(); ships.resize(count); for(int i = 0; i < count; i++) { ships[i] = Ship(getShip(c, i)); } if(!initialized) { initialized = true; init(); } return run(); }