AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programmoptimierung

Offene Frage von "HansDampf43"
Ein Thema von HansDampf43 · begonnen am 5. Mär 2010 · letzter Beitrag vom 8. Mär 2010
Antwort Antwort
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: Programmoptimierung

  Alt 8. Mär 2010, 06:50
So, und wenn wir schon beim Fiddelkram sind:
1. Wieso heißt das 'XinRange', wenn doch in der Funktion gar kein 'X' vorkommt?
2. Selbst bei 'LeftInRange' blieben noch Zweifel, ob es das ist, was die Funktion prüft.
3. Und was sind das für magische Zahlen '30' und '26'?

Mein Refactoring würde so aussehen:
Delphi-Quellcode:
Function InRange (aNumber, aLowBound, aHighBound : Integer) : Boolean;
Begin
  Result := (aNumber >= aLowBound) and (aNumber <= aHighBound);
End;

Function PointInImage (aPoint : TPoint; aImage : TImage) : Boolean;
Begin
// Ich gehe mal davon aus, das die '30' die Breite und Höhe des Bildes sind
  Result := InRange (aPoint.X, aImage.Left, aImage.Left + aImage.Width)
        and InRange (aPoint.Y, aImage.Top, aImage.Top + aImage.Height)
End;

Function SpriteInImage (aSprite, aImage : TImage) : Boolean;
// Ich gehe davon aus, das die '26' die Breite und Höhe des Sprites sind
Begin
  Result := PointInImage (aSprite.BoundsRect.TopLeft)
        Or PointInImage (aSprit.BoundsRect.BottomRight);
End;

...
for i:= 1 to anzahl do begin
  if existiert[i] then
    if SpriteInImage (Image2, geister[i]) then begin
      geister[i].free;
      existiert[i]:=false;
    end;
end;
Kann aber auch sein, das ich den Code nicht verstanden habe. Wär' ja nicht das erste Mal
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:54 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