Einzelnen Beitrag anzeigen

Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#3

Re: Programmoptimierung

  Alt 5. Mär 2010, 23:00
nur Beauty.
Leider keinen Vorschlag.
Delphi-Quellcode:
procedure TForm1.KollisionsabfrageG;
var
  l, r, i, v: integer;

begin
  if anzahl > 0 then //Anzahl=Anzahl der Geister
    for i := 1 to anzahl do begin

      if existiert[i] = true then begin


        if geister[i].left < 1 then
          geister[i].left := 750;

        if geister[i].left > 750 then
          geister[i].left := -0;

        if ((image1.canvas.pixels[Geister[i].left - 1, geister[i].top] = RGBtocolor(0, 0, 255))) or //Image1 ist das "hintergrundbild, also die Karte, die "Wände" sind blau
          ((image1.canvas.pixels[Geister[i].left - 1, geister[i].top + 29] = RGBtocolor(0, 0, 255))) // 0,0,255
          then
          l := 1
        else
          l := 0;


        if ((image1.canvas.pixels[geister[i].left + 29, geister[i].top] = RGBtocolor(0, 0, 255))) or
          ((image1.canvas.pixels[geister[i].left + 29, geister[i].top + 29] = RGBtocolor(0, 0, 255)))
          then
          r := 1
        else
          r := 0;

        if (l = 0) and (r = 0) then
          kollisiong[i] := false
        else begin
          kollisiong[i] := true;
        end;
        if kollisiong[i] = true then begin
          if richtungg[i] = 1 then geister[i].left := geister[i].left - 2;
          if richtungg[i] = 2 then geister[i].top := geister[i].top + 2;
          if richtungg[i] = 3 then geister[i].left := geister[i].left + 2;
          if richtungg[i] = 4 then geister[i].top := geister[i].top - 2;
          case richtungg[i] of
            1: case v of 0: richtungg[i] := 1; 1: richtungg[i] := 2; 2: richtungg[i] := 4; end;
            2: richtungg[i] := random(3) + 1;
            3: richtungg[i] := random(3) + 2;
            4: case v of 0: richtungg[i] := 1; 1: richtungg[i] := 3; 2: richtungg[i] := 4; end;
          end;

        end;
      end;
    end;
ICQ: 204141443
Delphi 3 Professional, Intel 2x 2,4Ghz, 3 GB-Graka, Sound-onBrd, --
außerdem D2S, D3Pro, D4S, D5S, D6S, D7S + Indy, Lazarus, VB5Std, VC++5Pro, Tasm4+5 - was braucht man mehr?
-
  Mit Zitat antworten Zitat