Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Pong programmieren (https://www.delphipraxis.net/156744-pong-programmieren.html)

Blup 16. Dez 2010 12:40

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;

Mesion 16. Dez 2010 14:33

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 ^^

Blup 17. Dez 2010 10:26

AW: Pong programmieren
 
Zitat:

Zitat von Mesion (Beitrag 1068911)
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.

Dieser Vergleich hat noch nicht gestimmt:
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.
Seite 2 von 2     12   

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