Benutzer-Werkzeuge

Webseiten-Werkzeuge


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
pong:start [2023/01/16 07:37] – [Programmierung des Balls] Martin Pabstpong:start [2023/01/16 09:20] (aktuell) – [Klassendiagramm] Martin Pabst
Zeile 75: Zeile 75:
 Der Ball muss die zwei Schläger "kennen", um feststellen zu können, ob er einen davon berührt und entsprechend seine Geschwindigkeit ändern muss. Der Ball muss die zwei Schläger "kennen", um feststellen zu können, ob er einen davon berührt und entsprechend seine Geschwindigkeit ändern muss.
 {{ :pong:pasted:20230116-083656.png }} {{ :pong:pasted:20230116-083656.png }}
 +
 +Daher erhält die Klasse Ball die beiden Attribute ''schlaegerLinks'' und ''schlaegerRechts''. Sie werden im Konstruktor mit den Referenzen der beiden ''Schlaeger''-Objekte belegt, die an den Konstruktor übergeben werden:
 +<code java>
 +class Ball extends Rectangle {
 +   
 +   private double vx;
 +   private double vy;
 +   private Schläger schlägerLinks;
 +   private Schläger schlägerRechts;
 +
 +
 +   Ball(double breite, double x, double y, Schläger schlägerLinks, Schläger schlägerRechts) {
 +      super(x - breite / 2, y - breite / 2, breite, breite);
 +      setFillColor(Color.white);
 +      this.schlägerLinks = schlägerLinks;
 +      this.schlägerRechts = schlägerRechts;
 +
 +      setzeZufallsGeschwindigkeit();
 +   }
 +   
 +   usw...
 +}
 +</code>
  
 {{ youtube>DIKP2A2S2x8?large }} {{ youtube>DIKP2A2S2x8?large }}
Zeile 194: Zeile 217:
 {{ :pong:pasted:20230110-074959.png?500 }} {{ :pong:pasted:20230110-074959.png?500 }}
 ===== Hauptprogramm, Punkteanzeige, Startbildschirm, Game over ===== ===== Hauptprogramm, Punkteanzeige, Startbildschirm, Game over =====
 +==== Klassendiagramm ====
 +Das Hauptprogramm muss bei der Anzeige des Startbildschirms den Ball und die Schläger ausblenden und beim Starten des Spiels wieder einblenden, den Ball auf seine Startposition setzen usw. . Daher muss es sowohl den Ball als auch die beiden Schläger kennen. Es ist günstig, die Schläger und den Ball direkt im Konstruktor der Klasse ''Pong'' zu erstellen.
 +{{ :pong:pasted:20230116-084004.png }}
 +
 +
 +
 +
 {{ youtube>V0LthmW7Qqo?large }} {{ youtube>V0LthmW7Qqo?large }}
 <HTML> <HTML>
pong/start.1673854622.txt.gz · Zuletzt geändert: 2023/01/16 07:37 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki