{
  Autor            : Michael Springwald

  Erstelluns Datum : 20.02.2005
  Update Datum     : 20.02.2005

  Hinweise

  Fehler:
}

unit Tools_mahte;

interface

uses Graphics,dialogs,SysUtils;

// Prüft ob eine Zahl Positiv oder Negativ ist
// Wenn die Zahl Positiv ist wird True zurückgeben
function GetDir(ZahL:Integer):Boolean;

// Prüft ob eine Zahl zwischen Zahl1 und Zahl2 ist wenn ja
// Gibt GetZahl1 True zurück
function GetZahl1(Zahl1, Zahl2,p:Integer):Boolean;

// Prüft ob Zwei objekte zusammenstoßen oder nicht
function collision(Bild1, Bild2:TBitMap; x1,y1,x2,y2:Integer):Boolean;

implementation

uses Types;

function collision(Bild1, Bild2:TBitMap; x1,y1,x2,y2:Integer):Boolean;
var
  sx,sy:Integer;
  test:Boolean;
  r1,r2,r3:TRect;
begin
  // Position vom zweiten objekt berechnen
  sx:=x2-x1; sy:=y2-y1;
  test:=False;
  r2.Left:=x2; r2.Top:=y2; r2.Right:=x2+bild2.Width; r2.Bottom:=y2+bild2.Height;
  r1.Left:=x1; r1.Top:=y1; r1.Right:=x1+bild1.Width; r1.Bottom:=y1+bild1.Height;
  if IntersectRect(r3,r1,r2) = True then begin
    if Bild1.Canvas.Pixels[sx,sy] = Bild1.Canvas.Pixels[1,1] then test:=False
    else test:=True;
  end;
  result:=Test;
end; // Collsion

function GetDir(Zahl:Integer):Boolean;
begin
  if Zahl > 0 then
    result:=True
  else
    result:=False;
end;

function GetZahl1(Zahl1, Zahl2,p:Integer):Boolean;
begin
  if (p >= Zahl1) and ( p <= Zahl2) then
    result:=True
  else
    result:=False;
end;


end.
