AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Game] Simple Pong
Thema durchsuchen
Ansicht
Themen-Optionen

[Game] Simple Pong

Ein Thema von turboPASCAL · begonnen am 23. Feb 2006 · letzter Beitrag vom 20. Okt 2009
 
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: Simple Pong

  Alt 28. Feb 2006, 11:23
Delphi-Quellcode:
// Die Prüffunktion
function OverlapRect(const Rect1, Rect2: TRect): Boolean;
begin
  Result :=
    (Rect1.Left <= Rect2.Right) and
    (Rect1.Right >= Rect2.Left) and
    (Rect1.Top <= Rect2.Bottom) and
    (Rect1.Bottom >= Rect2.Top);
end;
Delphi-Quellcode:
  // Die Überprüfung ob sich ein Rechteck in/ über einem anderem befindet
  if OverlapRect( // Ball bei/über Schl. 1 ?
    Rect(Ball.X, Ball.Y, Ball.X + Ball.Bmp.Width, Ball.Y + Ball.Bmp.Height),
    Rect(Schl1.X, Schl1.Y, Schl1.X + Schl1.Bmp.Width, Schl1.Y + Schl1.Bmp.Height)
    ) or
    OverlapRect( // Ball bei/über Schl. 2 ?
    Rect(Ball.X, Ball.Y, Ball.X + Ball.Bmp.Width, Ball.Y + Ball.Bmp.Height),
    Rect(Schl2.X, Schl2.Y, Schl2.X + Schl2.Bmp.Width, Schl2.Y + Schl2.Bmp.Height)
    ) then
  begin
    // Abprallen lassen / also einfach die Richtung umkeren.
    // Das Random ist dazu da, dass der winkel nicht immer gleich ist
    // sonst könnte man die Schläger an einer passenden Stelle belassen
    // und der ball würde immer wieder die selbe Schtrecke benutzen
    vx := vx * -1 -(1+random(2));
    vy := vy * -1 -(1+random(2));
  end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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