Пример #1
0
  public static void wave1(LinkedList<Enemy> enemyScript) {

    LinkedList<Bullet> bullets;
    Enemy e;

    enemyScript.add(new Node<Enemy>(Enemies.doomBot(30, true), 0));

    enemyScript.add(new Node<Enemy>(Enemies.doomBot(40, false), 1));

    enemyScript.add(new Node<Enemy>(Enemies.doomBot(30, true), 1));

    for (int i = 0; i < 10; i++) {
      bullets = new LinkedList<Bullet>();
      e = new Enemy(new Vector2(1, 40), 1, 2, new PathList(), new LinkedList<Bullet>());

      e.bulletScript.add(Barrage.fire(0.5f, 100, 1, 1, e));
      e.pathlist.add(new Node<Path>(new Path(new Vector2(5, 0)), 0));

      enemyScript.add(new Node<Enemy>(e, 1));
    }

    for (int i = 0; i < 10; i++) {
      e =
          new Enemy(
              new Vector2(10, 30),
              1,
              50,
              new PathList(new Vector2(5, 0)),
              new LinkedList<Bullet>());
      enemyScript.add(new Node<Enemy>(e, 1));
    }

    Enemy teruyo =
        new Enemy(
            new Vector2(0, 30), 1, 50, new PathList(new Vector2(5, 0)), new LinkedList<Bullet>());

    teruyo.isBoss = true;

    teruyo.pathlist.pathlist.add(new Node<Path>(new Path(-5, 0), 1f));

    teruyo.pathlist.pathlist.add(new Node<Path>(new Path(1, 0), 0.5f));

    for (int i = 0; i < 100; i++) {
      teruyo.pathlist.pathlist.add(new Node<Path>(new Path(10, 0), 0.5f));
      teruyo.pathlist.pathlist.add(new Node<Path>(new Path(-10, 0), 0.5f));
    }

    bullets = teruyo.bulletScript;

    for (int i = 0; i < 100; i++) {
      bullets.add(new Node<Bullet>(new Bullet(teruyo, 1, new Path(0, -5)), 1));
      bullets.add(new Node<Bullet>(new Bullet(teruyo, 1, new Path(2, -5)), 0.5f));
    }

    enemyScript.add(new Node<Enemy>(teruyo, 1f));
  }
Пример #2
0
  // enemies crush
  public void checkEnemiesCrush(ArrayList<Enemies> enemies, int i) {

    Enemies enemy = enemies.get(i);

    enemiesSize = enemies.size();

    if (!enemy.isDead()) {
      if (enemy.isReverse()) {
        if (x - width / 2 < enemy.getX() - enemy.getWidth() / 2
            && x + width / 2 >= enemy.getX() - enemy.getWidth() / 2
            && y + height / 2 > enemy.getY() + enemy.getHeight() / 2
            && y - height / 2 < enemy.getY() + enemy.getHeight() / 2 - height / 2) {
          isCrush(true, true, false);
          hit();
        } else {
          if (x + width / 2 > enemy.getX() + enemy.getWidth() / 2
              && x - width / 2 <= enemy.getX() + enemy.getWidth() / 2
              && y + height / 2 > enemy.getY() + enemy.getHeight() / 2
              && y - height / 2 < enemy.getY() + enemy.getHeight() / 2 - height / 2) {
            isCrush(true, false, false);
            hit();
          } else {
            if (x + width / 2 > enemy.getX() - enemy.getWidth() / 2
                && x - width / 2 < enemy.getX() + enemy.getWidth() / 2
                && y + height / 2 > enemy.getY() + enemy.getHeight() / 2
                && y - height / 2 <= enemy.getY() + enemy.getHeight() / 2) {
              enemies.get(i).hit();
              isCrush(false, false, true);
              jumping = true;
            }
          }
        }
      } else {
        if (x - width / 2 < enemy.getX() - enemy.getWidth() / 2
            && x + width / 2 >= enemy.getX() - enemy.getWidth() / 2
            && y - height / 2 < enemy.getY() - enemy.getHeight() / 2
            && y + height / 2 > enemy.getY() - enemy.getHeight() / 2 + height / 2) {
          isCrush(true, true, false);
          hit();
        } else {
          if (x + width / 2 > enemy.getX() + enemy.getWidth() / 2
              && x - width / 2 <= enemy.getX() + enemy.getWidth() / 2
              && y - height / 2 < enemy.getY() - enemy.getHeight() / 2
              && y + height / 2 > enemy.getY() - enemy.getHeight() / 2 + height / 2) {
            isCrush(true, false, false);
            hit();
          } else {
            if (x - width / 2 < enemy.getX() + enemy.getWidth() / 2
                && x + width / 2 > enemy.getX() - enemy.getWidth() / 2
                && y - height / 2 < enemy.getY() - enemy.getHeight() / 2
                && y + height / 2 >= enemy.getY() - enemy.getHeight() / 2) {
              enemies.get(i).hit();
              isCrush(false, false, true);
              jumping = true;
            }
          }
        }
      }
    }
    if (enemy.isRemove()) enemies.remove(i);
  }