Example #1
0
void Enemy::setTopBullets() {
    topBullet = setBullet(type->barrage[barragePatternIdx], 0);
    for (int i = 0; i < type->batteryNum; ++i) {
        Battery* b = &battery[i];
        if (b->shield <= 0)
            continue;
        const BatteryType* bt = &(type->batteryType[i]);
        float xr = 1;
        for (int j = 0; j < bt->batteryNum; ++j) {
            b->topBullet[j] = setBullet(bt->barrage[barragePatternIdx], &(bt->batteryPos[j]), xr);
            if (bt->xReverseAlternate)
                xr *= -1;
        }
    }
}
Example #2
0
Bullet::Bullet(Circle circle, Item *p) : QBody(p) {
  setPosition(QPointF(circle.pos()));
  setLinearDamping(0);
  setBullet(true);
  setBodyType(Dynamic);

  auto fixture = std::make_unique<Box2DCircle>(this);
  fixture->setShadowCaster(false);
  fixture->setRadius(circle.radius());
  fixture->setGroupIndex(-1);

  addFixture(std::move(fixture));
}
Example #3
0
// addBullet
// searches the bullet list for an empty slot, adds one if available
void addBullet(int x, int y, byte direction, char vx, char vy)
{
  byte id;
  
  for(id=0; id<BULLET_MAX; id++)
  {
    if(setBullet(
      bullets[id],
      x - BULLET_WIDTH/2,
      y - BULLET_HEIGHT/2,
      vx + BulletXVelocities[direction],
      vy + BulletXVelocities[(direction+6)%8]))
    {
      arduboy.tunes.tone(440, 20);
      break;
    }
  }
}
Example #4
0
void Warship::initializeBullet()
{
    setBullet(new EnemyBullet);
}
Example #5
0
tr1::shared_ptr<BulletActor> Enemy::setBullet(const Barrage& br, const Vector* ofs) {
    return setBullet(br, ofs, 1);
}