![]() |
AW: Pong programmieren
Du kannst natürlich auch dx und dy als einzelne Member/Property deklarieren.
Aber so ist es übersichtlicher, z.B. so:
Delphi-Quellcode:
type
TGeschwindigeit: record dx, dy: Double; end; derBall = class({z.B. TObject}) private FGeschwindigkeit: TGeschwindigkeit; {... weite Member ...} public procedure Bandenkollision; procedure Schlägerkollision; function bewegt_sich_nach_links : Boolean; function bewegt_sich_nach_rechts : Boolean; function bewegt_sich_nach_oben : Boolean; function bewegt_sich_nach_unten : Boolean; procedure bewegeDich; {... weite Methoden ...} property Geschwindigeit: TGeschwindigeit read FGeschwindigeit write FGeschwindigeit; {... weite Eigenschaften ...} end; |
AW: Pong programmieren
Guten Tag,
Vielen Dank für eure Antworten, das Forum hier ist echt super :) Ich habe jetzt einfach in derBall 2 Variablen eingefügt, also GeschwindigkeitX und GeschwindigkeitY und die neuen Methoden. Erst hat sich der Ball nicht bewegt, aber dann habe ich gemerkt, dass in der BewegeDich-Methode noch gefehlt hat, dass sich der Stift auf die XKoordinate und YKoordinate bewegt. Jetzt fliegt der Ball und prallt auch immer an den Schlägern ab, aber ein Problem gibt es trotzdem noch. Der Ball prallt nicht nur an den Schlägern und der Bande ab, sondern auch auf bestimmten XKoordinaten auf dem Spielfeld, aber nur, wenn sich der Schläger auf der anderen Seite auf der gleichen YKoordinate befindet, wie der Ball. Hoffentlich konnte ich das halbwegs verständlich erklären ^^ |
AW: Pong programmieren
Zitat:
Delphi-Quellcode:
If (derBall.XKoordinate <= (Schlaeger1.XKoordinate + Schlaeger1.Breite))
and (derBall.YKoordinate >= Schlaeger1.YKoordinate) and (derBall.YKoordinate <= (Schlaeger1.YKoordinate+Schlaeger1.Laenge)) then |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz