Schritt 2:
Die für Teil b) und c) benötigte Kugelklasse:
In der Kugelklasse ist der Code der Methode 'bewege' zu verändern:
procedure TKugel.bewege; begin //Kugel an alter Stelle löschen meinStift.radiere; meinStift.bewegeBis(AkuelleXPos,AkuelleYPos); meinStift.zeichneKreis(10); //Kugel an neue Stelle bewegen AkuelleXPos := AkuelleXPos + AktuelleGeschwindigkeit; //Kugel neu zeichnen meinStift.normal; meinStift.bewegeBis(AkuelleXPos,AkuelleYPos); meinStift.zeichneKreis(10); end; |
Wenn geschickt mit dem UML-Editor gearbeitet wurde, ist der Code der neuen Methoden automatisch erzeugt worden:
procedure TKugel.SetzeGeschwindigkeit (pAktuelleGeschwindigkeit: Zahl); begin AktuelleGeschwindigkeit := pAktuelleGeschwindigkeit end; function TKugel.GibXPos : Zahl; begin result := AkuelleXPos end; |
Schliesslich ist die Projektdatei noch ein wenig abzuändern:
erste Kugel ist weiter oben und bewegt sich nach rechts zweite Kugel ist weiter unten und bewegt sich nach links Wiederkehr der ersten Kugel Wiederkehr der zweiten Kugel |
Für Aufgabe 2b: ersteKugel.setzePosition (250,100); ersteKugel.SetzeGeschwindigkeit(1); zweiteKugel.setzePosition(80,300); zweiteKugel.SetzeGeschwindigkeit(-0.5); repeat ersteKugel.bewege; zweiteKugel.bewege; if ersteKugel.GibXPos > derBildschirm.breite then ersteKugel.setzePosition(0,100); if zweiteKugel.GibXPos < 0 then zweiteKugel.setzePosition(derBildschirm.breite,300); meineUhr.warte(1) until dieMaus.istGedrueckt; |
Reflexion der ersten Kugel rechts und links Reflexion der zweiten Kugel rechts und links |
Hier nur die Schleife für 2c: repeat ersteKugel.bewege; zweiteKugel.bewege; if ersteKugel.GibXPos > derBildschirm.breite then ersteKugel.setzeGeschwindigkeit(-1); if ersteKugel.GibXPos < 0 then ersteKugel.setzeGeschwindigkeit(1); if zweiteKugel.GibXPos > derBildschirm.breite then zweiteKugel.setzeGeschwindigkeit(-0.5); if zweiteKugel.GibXPos < 0 then zweiteKugel.setzeGeschwindigkeit(0.5); meineUhr.warte(1) until dieMaus.istGedrueckt; |
![]() |
|
![]() |
|
![]() |
Zur
nächsten Seite
![]() |
© 2000 LK 12 If und G. Kubitz | Hannah-Arendt-Gymnasium, Lengerich |