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 |