/**
   * Verifie si l'oiseau est toujours dans l'ecran et s'il ne touche pas un obstacle (change sa
   * couleur dans le cas contraire)
   *
   * @return si l'animation doit se poursuivre ou non
   */
  public boolean poursuiteAnim() {

    for (Obstacle i : listeCorps) {
      for (int cp = (listeCorps.indexOf(i)); cp < listeCorps.size(); cp++) {

        if (i.collision()) {

          try {
            etat = 1;
            img = ImageIO.read(new File("ressources/oiseau_vener_collision.png"));
          } catch (Exception e) {
            e.printStackTrace();
          }

          if (!i.equals(listeCorps.get(cp))) i.appliquerCollision(listeCorps.get(cp));

          setChanged();
          notifyObservers();

          return false;
        }
      }
    }

    return (oiseau.getCorpsPosX() + Constantes.DIAMETRE) > Constantes.BORD_GAUCHE
        && (oiseau.getCorpsPosX() + Constantes.DIAMETRE) < Constantes.BORD_DROIT
        && (oiseau.getCorpsPosY() + Constantes.DIAMETRE) > Constantes.PLAFOND
        && (oiseau.getCorpsPosY() + Constantes.DIAMETRE) < Constantes.SOL;
  }
  /** Applique les forces et enregistre la trajectoire de l'oiseau */
  public static void trame() {

    for (Obstacle o : AngryBirdsModel.listeCorps) {
      for (int cp = (listeCorps.indexOf(o)); cp < listeCorps.size(); cp++) {

        System.out.println(
            "Obstacle "
                + o
                + " : "
                + o.getCorpsPosX()
                + ","
                + o.getCorpsPosY()
                + " - "
                + o.getCorpsSpeedX()
                + ","
                + o.getCorpsSpeedY());

        if (o.collision()) {
          if (!o.equals(listeCorps.get(cp))) o.appliquerCollision(listeCorps.get(cp));
        }
        o.mouvement();
      }
    }

    oiseau.setCorpsSpeedY(oiseau.getCorpsSpeedY() + 0.1); // (oiseau.poids/1000);

    oiseau.setCorpsPosX(oiseau.getCorpsPosX() + oiseau.getCorpsSpeedX());
    oiseau.setCorpsPosY(oiseau.getCorpsPosY() + oiseau.getCorpsSpeedY());
  }