Ergebnis 1 bis 20 von 255

Thema: while(true) {write();} - Der Programmierer-Spamthread #1

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von R.D. Beitrag anzeigen
    Code (java):
     
          for(int i = 0; i < enemy.size(); i++) {
            if(waveStart.get(i) < distance && waveStop.get(i) > distance) {
              for(int j = 0; j < enemy.get(i).size(); j++) {
                if(enemy.get(i).get(j).isAlive() && !enemy.get(i).get(j).isOutOfWindow()) {
                  g2d.drawImage(enemy.get(i).get(j).getImage(), enemy.get(i).get(j).getX(), enemy.get(i).get(j).getY(), this);
                }
              }
            }
          }
     
    Muss er unbedingt die kompletten For-Schleifen durchlaufen?
    Die Innere Schleife wird ja nur dann ausgeführt, wenn die Bedingung waveStart.get(i) < distance && waveStop.get(i) > distance erfüllt ist.
    Wenn die Bedingung einmal nicht erfüllt wurde, kann sie dann nochmal erfüllt werden?
    Wenn nein, würde ich eine While-Schleife nehmen oder sogar den Teil zu einer Rekursion umbauen.

  2. #2
    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    Muss er unbedingt die kompletten For-Schleifen durchlaufen?
    Die Innere Schleife wird ja nur dann ausgeführt, wenn die Bedingung waveStart.get(i) < distance && waveStop.get(i) > distance erfüllt ist.
    Wenn die Bedingung einmal nicht erfüllt wurde, kann sie dann nochmal erfüllt werden?
    Wenn nein, würde ich eine While-Schleife nehmen oder sogar den Teil zu einer Rekursion umbauen.
    Warum nicht einfach die if-Bedingung in den for-Kopf integrieren? Dann hast du den Komfort der for-Schleife ohne unnötige Durchläufe (falls deine Annahme zutrifft).

  3. #3
    Edit:

    Hat sich erledigt, hab das Problem gelöst

    Geändert von R.D. (24.04.2010 um 16:49 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •