home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 3
/
Freelog003.iso
/
Prog
/
Delphi
/
Etape1
/
Unit1.~pa
< prev
next >
Wrap
Text File
|
1999-05-01
|
2KB
|
84 lines
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DXClass, DXDraws;
type
TForm1 = class(TDXForm)
DXDraw1: TDXDraw;
DXImageList1: TDXImageList;
DXTimer1: TDXTimer;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
private
{ DΘclarations privΘes }
public
{ DΘclarations publiques }
end;
var
Form1: TForm1;
implementation
type TMechantSprite = record
Sens : Integer;
X, Y : Integer;
end;
var Ennemi : TMechantSprite;
{$R *.DFM}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_ESCAPE then
Close;
if ( ssAlt in Shift) And( Key = VK_RETURN) then
begin
DXDraw1.Finalize;
if doFullScreen in DXDraw1.Options then
begin
RestoreWindow;
DXDraw1.Cursor := crDefault;
BorderStyle := bsSizeable;
DXDraw1.Options := DXDraw1.Options-[doFullScreen];
end
else
begin
StoreWindow;
DXDraw1.Cursor := crNone;
BorderStyle := bsNone;
DXDraw1.Options := DXDraw1.Options+[doFullScreen];
end;
DXDraw1.Initialize;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Ennemi.Sens := 5;
Ennemi.X := 0;
Ennemi.Y := 20;
end;
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
if Not DXDraw1.CanDraw then Exit;
Ennemi.X := Ennemi.X + Ennemi.Sens;
if ( Ennemi.X > DXDraw1.Width) or ( Ennemi.X < 0) then
begin
Ennemi.Sens := - Ennemi.Sens;
Ennemi.Y := Ennemi.Y + 5;
end;
if Ennemi.Y > DXDraw1.Height then close;
DXDraw1.Surface.Fill(0);
DXImageList1.Items.Find('vaisseau').Draw( DXDraw1.Surface, Ennemi.X, Ennemi.Y, 0);
DXDraw1.Flip;
end;
end.