Projektdatei der zweiten (besseren) Lösung:
Die Steuerung in der Projektdatei lässt sich wesentlich vereinfachen, wenn das Spielfeld in der Lage ist, Fragen nach seinen Rändern selbst zu beantworten. Damit erhalten wir:
Ergänzen wir auch die Kugelklasse um einen Anfrage für die Geschwindigkeit:
Die Koordinaten zur Reflektion der Kugel werden jetzt vom Spielfeld selbst geliefert. Auch die Kugel ändert ihre Geschwindigkeit immer passend, ohne dass der Programmierer über die richtigen Zahlenwerte nachdenken muss. |
repeat ersteKugel.bewege; zweiteKugel.bewege; if ersteKugel.GibXPos + 12 > dasSpielfeld.rechterRand then ersteKugel.setzeGeschwindigkeit(-ersteKugel.GibGeschwindigkeit); if ersteKugel.GibXPos - 12 < dasSpielfeld.linkerRand then ersteKugel.setzeGeschwindigkeit(-ersteKugel.GibGeschwindigkeit); if zweiteKugel.GibXPos + 12 > dasSpielfeld.rechterRand then zweiteKugel.setzeGeschwindigkeit(-ersteKugel.GibGeschwindigkeit); if zweiteKugel.GibXPos - 12 < dasSpielfeld.linkerRand then zweiteKugel.setzeGeschwindigkeit(-ersteKugel.GibGeschwindigkeit); meineUhr.warte(1) until dieMaus.istGedrueckt; |
![]() |
|
![]() |
|
![]() |
Zur
nächsten Seite
![]() |
© 2005 GK 11 If und G. Kubitz Hannah-Arendt-Gymnasium, Lengerich Letztes Update: 17.11.04 |