Exemple #1
0
  public void checkCollisions() {

    Rectangle r3 = craft.getBounds();

    for (int j = 0; j < aliens.size(); j++) {
      Alien a = (Alien) aliens.get(j);
      Rectangle r2 = a.getBounds();

      if (r3.intersects(r2)) {
        craft.setVisible(false);
        a.setVisible(false);
        ingame = false;
      }
    }

    ArrayList ms = craft.getMissiles();

    for (int i = 0; i < ms.size(); i++) {
      Missile m = (Missile) ms.get(i);

      Rectangle r1 = m.getBounds();

      for (int j = 0; j < aliens.size(); j++) {
        Alien a = (Alien) aliens.get(j);
        Rectangle r2 = a.getBounds();

        if (r1.intersects(r2)) {
          m.setVisible(false);
          a.setVisible(false);
        }
      }
    }
  }
Exemple #2
0
  private void doDrawing(Graphics g) {

    Graphics2D g2d = (Graphics2D) g;
    g2d.drawImage(craft.getImage(), craft.getX(), craft.getY(), this);
    ArrayList<Missile> ms = craft.getMissiles();
    for (Missile missible : ms) {
      g2d.drawImage(missible.getImage(), missible.getX(), missible.getY(), this);
    }
  }
Exemple #3
0
  private void updateMissible() {

    ArrayList ms = craft.getMissiles();

    for (int i = 0; i < ms.size(); i++) {

      Missile m = (Missile) ms.get(i);

      if (m.isVisible()) {

        m.move();
      } else {

        ms.remove(i);
      }
    }
  }
Exemple #4
0
  public void paint(Graphics g) {
    super.paint(g);

    if (ingame) {

      Graphics2D g2d = (Graphics2D) g;

      if (craft.isVisible()) g2d.drawImage(craft.getImage(), craft.getX(), craft.getY(), this);

      ArrayList ms = craft.getMissiles();

      for (int i = 0; i < ms.size(); i++) {
        Missile m = (Missile) ms.get(i);
        g2d.drawImage(m.getImage(), m.getX(), m.getY(), this);
      }

      for (int i = 0; i < aliens.size(); i++) {
        Alien a = (Alien) aliens.get(i);
        if (a.isVisible()) g2d.drawImage(a.getImage(), a.getX(), a.getY(), this);
      }

      g2d.setColor(Color.WHITE);
      g2d.drawString("Aliens left: " + aliens.size(), 5, 15);

    } else {
      String msg = "Game Over";
      Font small = new Font("Helvetica", Font.BOLD, 14);
      FontMetrics metr = this.getFontMetrics(small);

      g.setColor(Color.white);
      g.setFont(small);
      g.drawString(msg, (B_WIDTH - metr.stringWidth(msg)) / 2, B_HEIGHT / 2);
    }

    Toolkit.getDefaultToolkit().sync();
    g.dispose();
  }
Exemple #5
0
  public void actionPerformed(ActionEvent e) {

    if (aliens.size() == 0) {
      ingame = false;
    }

    ArrayList ms = craft.getMissiles();

    for (int i = 0; i < ms.size(); i++) {
      Missile m = (Missile) ms.get(i);
      if (m.isVisible()) m.move();
      else ms.remove(i);
    }

    for (int i = 0; i < aliens.size(); i++) {
      Alien a = (Alien) aliens.get(i);
      if (a.isVisible()) a.move();
      else aliens.remove(i);
    }

    craft.move();
    checkCollisions();
    repaint();
  }