Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:projects:pong:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
api:projects:pong:start [2020/12/29 13:57] Martin Pabstapi:projects:pong:start [2020/12/29 16:44] Martin Pabst
Zeile 3: Zeile 3:
  
 <HTML> <HTML>
-<div class="java-online" style="height: 620px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'Minesweeper'}">+<div class="java-online" style="height: 620px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'Pong'}">
  
 <script type="text/plain" title="Pong.java"> <script type="text/plain" title="Pong.java">
Zeile 162: Zeile 162:
       }        } 
  
-      // Kollision mit Schläger links?  +      testKollisionMitSchläger(schlägerLinks); 
-      if(this.collidesWith(schlägerLinks)) { +      testKollisionMitSchläger(schlägerRechts);
-         vx *= -1  // vx umkehren +
- +
-         // Abhängig von der Auftreffstelle auf dem Schläger ändern wir vy +
-         double dy = schlägerLinks.getCenterY() - getCenterY(); +
-         vy += dy / schlägerLinks.getHeight() * 3; +
-      } +
- +
-      // Kollision mit Schläger rechts? +
-      if(this.collidesWith(schlägerRechts)) { +
-         vx *= -1; +
-         double dy = schlägerRechts.getCenterY() - getCenterY(); +
-         vy += dy / schlägerRechts.getHeight() * 2; +
-      }+
  
       // Wenn sich der Ball schon um vx weiter links befindet als bei Berührung mit dem linken Schläger,       // Wenn sich der Ball schon um vx weiter links befindet als bei Berührung mit dem linken Schläger,
Zeile 194: Zeile 181:
       }       }
  
 +   }
 +
 +   private void testKollisionMitSchläger(Schläger schläger) {
 +      if(this.collidesWith(schläger)) {
 +         vx *= -1;
 +         double dy = schläger.getCenterY() - getCenterY();
 +         if(Math.abs(vy) < 10) {
 +            vy -= dy / schläger.getHeight() * 6; 
 +         }
 +         if(schläger == schlägerLinks) {
 +            System.playSound(Sound.pong_f);
 +         } else {
 +            System.playSound(Sound.pong_d);
 +         }
 +      }
    }    }
  
api/projects/pong/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki