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);
}
Пример #3
0
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();
}