Benutzer-Werkzeuge

Webseiten-Werkzeuge


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
projects:pong:start [2021/02/20 11:13] Martin Pabstprojects:pong:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 41: Zeile 41:
              
       if(isKeyDown(tasteRunter)) {       if(isKeyDown(tasteRunter)) {
-         if(getCenterY() < 600 - getHeight() / 2) {+         if(getCenterY() getHeight() / 2 < 600 ) {
             move(0, dy);             move(0, dy);
          }          }
Zeile 57: Zeile 57:
  \\   \\ 
  
-==== Wann stößt der Schläger oben/unten an? ==== 
 {{ :projects:pong:pasted:20210220-110606.png?300}} {{ :projects:pong:pasted:20210220-110606.png?300}}
 +==== Wann stößt der Schläger oben an? ====
 Am oberen Rand des Grafikbereichs stößt der Schläger dann an, wenn ''getCenterY() == getHeight()/2''. Solange ''getCenterY() > getHeight()/2'' ist, ist der Schläger noch nicht oben angekommen. Am oberen Rand des Grafikbereichs stößt der Schläger dann an, wenn ''getCenterY() == getHeight()/2''. Solange ''getCenterY() > getHeight()/2'' ist, ist der Schläger noch nicht oben angekommen.
 <HTML> <HTML>
-<div style="clear: both"></div>+<div style="clear: both; margin-bottom: 30px"></div>
 </HTML> </HTML>
 +
 +==== Wann stößt der Schläger unten an? ====
 {{:projects:pong:pasted:20210220-111101.png?300 }} {{:projects:pong:pasted:20210220-111101.png?300 }}
 Am unteren Rand des Grafikbereichs stößt der Schläger dann an, wenn ''getCenterY() + getHeight()/2 == 600''. Solange ''getCenterY() + getHeight()/2 < 600'' ist, ist der Schläger noch nicht unten angekommen. Am unteren Rand des Grafikbereichs stößt der Schläger dann an, wenn ''getCenterY() + getHeight()/2 == 600''. Solange ''getCenterY() + getHeight()/2 < 600'' ist, ist der Schläger noch nicht unten angekommen.
 <HTML> <HTML>
-<div style="clear: both"></div>+<div style="clear: both; margin-bottom: 30px"></div>
 </HTML> </HTML>
  
Zeile 105: Zeile 107:
              
       if(isKeyDown(tasteRunter)) {       if(isKeyDown(tasteRunter)) {
-         if(getCenterY() < 600 - getHeight() / 2) {+         if(getCenterY() getHeight() / 2 < 600 ) {
             move(0, dy);             move(0, dy);
          }          }
Zeile 134: Zeile 136:
       move(vx, vy);       move(vx, vy);
  
-      if(getCenterY() < getWidth() / 2) {+      if(getCenterY() < getHeight() / 2) {
          vy = vy * (-1);          vy = vy * (-1);
       }       }
  
-      if(getCenterY() > 600 - getWidth() / 2) {+      if(getCenterY() + getHeight() /2 > 600) {
          vy = vy * (-1);          vy = vy * (-1);
       }       }
Zeile 148: Zeile 150:
       if(getCenterX() < - getWidth() / 2) {       if(getCenterX() < - getWidth() / 2) {
          setzeZufallsGeschwindigkeit();          setzeZufallsGeschwindigkeit();
-         setCenter(400, 300);+         moveTo(400, 300);
       }       }
  
       if(getCenterX() > 800 + getWidth() / 2) {       if(getCenterX() > 800 + getWidth() / 2) {
          setzeZufallsGeschwindigkeit();          setzeZufallsGeschwindigkeit();
-         setCenter(400, 300);+         moveTo(400, 300);
       }       }
  
Zeile 183: Zeile 185:
 </HTML> </HTML>
  \\   \\ 
 +
 +=== Wann stößt der Ball oben/unten an? Wann verlässt er links/rechts das Spielfeld? ===
 +Hier eine erläuternde Grafik zu diesen Fragen:
 +{{ :projects:pong:pasted:20210220-114157.png?500 }}
 ===== Hauptprogramm, Punkteanzeige, Startbildschirm, Game over ===== ===== Hauptprogramm, Punkteanzeige, Startbildschirm, Game over =====
 {{ youtube>V0LthmW7Qqo?large }} {{ youtube>V0LthmW7Qqo?large }}
Zeile 268: Zeile 274:
          großeAnzeige.setVisible(false);          großeAnzeige.setVisible(false);
          ball.setzeZufallsGeschwindigkeit();          ball.setzeZufallsGeschwindigkeit();
-         ball.setCenter(400, 300);+         ball.moveTo(400, 300);
          punkteLinks = 0;          punkteLinks = 0;
          punkteRechts = 0;          punkteRechts = 0;
Zeile 312: Zeile 318:
              
       if(isKeyDown(tasteRunter)) {       if(isKeyDown(tasteRunter)) {
-         if(getCenterY() < 600 - getHeight() / 2) {+         if(getCenterY() getHeight() / 2 < 600 ) {
             move(0, dy);             move(0, dy);
          }          }
Zeile 350: Zeile 356:
       move(vx, vy);       move(vx, vy);
  
-      if(getCenterY() < getWidth() / 2) {+      if(getCenterY() < getHeight() / 2) {
          vy = vy * (-1);          vy = vy * (-1);
       }       }
  
-      if(getCenterY() > 600 - getWidth() / 2) {+      if(getCenterY() + getHeight() /2 > 600) {
          vy = vy * (-1);          vy = vy * (-1);
       }       }
Zeile 365: Zeile 371:
          pong.punktFürRechtenSpieler();          pong.punktFürRechtenSpieler();
          setzeZufallsGeschwindigkeit();          setzeZufallsGeschwindigkeit();
-         setCenter(400, 300);+         moveTo(400, 300);
       }       }
  
Zeile 371: Zeile 377:
          pong.punktFürLinkenSpieler();          pong.punktFürLinkenSpieler();
          setzeZufallsGeschwindigkeit();          setzeZufallsGeschwindigkeit();
-         setCenter(400, 300);+         moveTo(400, 300);
       }       }
  
Zeile 406: Zeile 412:
   - Oft dauert es ewig, bis ein Tor erzielt wird. Je länger der Ball im Spiel ist, desto schneller soll er werden. Gleichzeitig soll auch die Geschwindigkeit der Schläger zunehmen. Sobald ein Tor erzielt wird, soll die Geschwindigkeit der Schläger wieder auf den ursprünglichen Wert zurückgesetzt werden.   - Oft dauert es ewig, bis ein Tor erzielt wird. Je länger der Ball im Spiel ist, desto schneller soll er werden. Gleichzeitig soll auch die Geschwindigkeit der Schläger zunehmen. Sobald ein Tor erzielt wird, soll die Geschwindigkeit der Schläger wieder auf den ursprünglichen Wert zurückgesetzt werden.
   - Herausforderung (freiwillig): Wenn der Ball einen Schläger mittig trifft, soll er ganz normal abprallen. Je weiter außen er den Schläger trifft, desto stärker soll er zusätzlich in diese Richtung abgelenkt werden.   - Herausforderung (freiwillig): Wenn der Ball einen Schläger mittig trifft, soll er ganz normal abprallen. Je weiter außen er den Schläger trifft, desto stärker soll er zusätzlich in diese Richtung abgelenkt werden.
 +
 +[[.hausaufgabe:verbesserung:start|Hier geht's zur Lösung!]]
  
 ==== Tipps zu den Aufgaben ==== ==== Tipps zu den Aufgaben ====
projects/pong/start.1613815989.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki