Thema: Delphi Mauern als hinderniss

Einzelnen Beitrag anzeigen

schrimm
(Gast)

n/a Beiträge
 
#3

Re: Mauern als hinderniss

  Alt 22. Feb 2007, 14:06
Aslo ich hab jetzte mal bisschen rumprobiert, es ist sogar was rausgekommen:
Delphi-Quellcode:
unit Uhaupt;
...
type
  mauerna= array [1..2,1..2,1..2]of integer;
  davida = array [1..2,1..2] of integer;
...

var
  Form1: TForm1;
  mxy : mauerna;
  dxy : davida;
  taste: char;

implementation

{$R *.DFM}
procedure hindernis;
 var k:integer;
 begin
  k:=1;
  for k:=1 to 2 do
   begin
     if ((dxy[1,2]>=mxy[k,1,1])and(dxy[1,1]<=mxy[k,1,2]))and//x-werte vergleichen
        ((dxy[2,2]>=mxy[k,2,1])and(dxy[2,1]<=mxy[k,2,2])) //y-werte vergleichen

     then
   begin
    case taste of
    'u': form1.im.top:=Form1.im.top+2;
    'd': form1.im.top:=form1.im.top-2;
    'l': form1.im.left:=form1.im.left+2;
    'r': form1.im.left:=form1.im.left-2;
    end;//ende case of
   end;//ende if-then
  end;//ende for..do
end;//ENDE hindernis

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

[... die bewegung des männels]
 

  //arrays
   //[a,b,c] a=mauernnummer b=x/y-wete c=anfangs/endwert
mxy [1,1,1]:=Image1.left;
mxy [1,1,2]:=Image1.left+40;
mxy [1,2,1]:=Image1.top;
mxy [1,2,2]:=Image1.top+34;

mxy [2,1,1]:=Image2.left;
mxy [2,1,2]:=Image2.left+40;
mxy [2,2,1]:=Image2.top;
mxy [2,2,2]:=Image2.top+34;

 //[1,x]=x-werte
 //[2,x]=y-werte

dxy [1,1]:=Im.left;
dxy [1,2]:=Im.left+38;
dxy [2,1]:=Im.top;
dxy [2,2]:=Im.top+73;
//array ende
hindernis;
end;
end.
Macht das sinn, das so zu machen?
  Mit Zitat antworten Zitat