unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, mTHintergrund, mTSchlange, mTFutter, mTKopf;
type
{ TForm1 }
TForm1 =
class(TForm)
Image1: TImage;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyUp(Sender: TObject;
var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
procedure Timer1Timer(Sender: TObject);
private
{ Private-Deklarationen }
Hintergrund : THintergrund;
Links,Rechts,Hoch,Runter : Boolean;
Kopf : TKopf;
public
{ Public-Deklarationen }
Schlange : TSchlange;
Futter : TFutter;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Hintergrund:= THintergrund.create(Image1);
Hintergrund.zeichnen();
Schlange:= TSchlange.create(Image1.Width
div 2,Image1.Height-30,Image1,Futter);
Kopf:= TKopf.create(Image1.Width
div 2 ,Image1.Height-30 ,Image1,Futter);
Kopf.zeichnen();
end;
procedure TForm1.FormKeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
Links := Key = VK_LEFT;
Rechts := Key = VK_Right;
Hoch := Key = VK_Up;
Runter := Key = VK_Down;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
IF (Links = True)
and (Kopf.GetZXPosition > 0)
Then
begin
Kopf.bewege_links();
Kopf.zeichnen;
end;
IF (Rechts = True)
and (Kopf.GetZXPosition < 649)
Then
begin
Kopf.bewege_rechts();
Kopf.zeichnen;
end;
IF (Hoch = True)
and (Kopf.GetZYPosition > 0)
Then
begin
Kopf.bewege_oben();
Kopf.zeichnen;
end;
IF (Runter = True)
and (Kopf.GetZYPosition < 481)
Then
begin
Kopf.bewege_unten();
Kopf.zeichnen;
end;
end;
procedure TForm1.FormKeyUp(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
Links := Key = VK_LEFT;
Rechts := Key = VK_Right;
Hoch := Key = VK_Up;
Runter := Key = VK_Down;
end;
end.