home *** CD-ROM | disk | FTP | other *** search
/ Freelog 3 / Freelog003.iso / Prog / Delphi / Etape1 / Unit1.~pa < prev    next >
Text File  |  1999-05-01  |  2KB  |  84 lines

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   DXClass, DXDraws;
  8.  
  9. type
  10.   TForm1 = class(TDXForm)
  11.     DXDraw1: TDXDraw;
  12.     DXImageList1: TDXImageList;
  13.     DXTimer1: TDXTimer;
  14.     procedure FormKeyDown(Sender: TObject; var Key: Word;
  15.       Shift: TShiftState);
  16.     procedure FormCreate(Sender: TObject);
  17.     procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
  18.   private
  19.     { DΘclarations privΘes }
  20.   public
  21.     { DΘclarations publiques }
  22.   end;
  23.  
  24. var
  25.   Form1: TForm1;
  26.  
  27. implementation
  28. type TMechantSprite = record
  29.   Sens : Integer;
  30.   X, Y : Integer;
  31. end;
  32. var Ennemi : TMechantSprite;
  33. {$R *.DFM}
  34.  
  35. procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  36.   Shift: TShiftState);
  37. begin
  38.   if Key = VK_ESCAPE then
  39.     Close;
  40.   if ( ssAlt in Shift) And( Key = VK_RETURN) then
  41.   begin
  42.     DXDraw1.Finalize;
  43.     if doFullScreen in DXDraw1.Options then
  44.     begin
  45.       RestoreWindow;
  46.       DXDraw1.Cursor := crDefault;
  47.       BorderStyle := bsSizeable;
  48.       DXDraw1.Options := DXDraw1.Options-[doFullScreen];
  49.     end
  50.     else
  51.     begin
  52.       StoreWindow;
  53.       DXDraw1.Cursor := crNone;
  54.       BorderStyle := bsNone;
  55.       DXDraw1.Options := DXDraw1.Options+[doFullScreen];
  56.     end;
  57.     DXDraw1.Initialize;
  58.   end;
  59. end;
  60.  
  61. procedure TForm1.FormCreate(Sender: TObject);
  62. begin
  63.   Ennemi.Sens := 5;
  64.   Ennemi.X := 0;
  65.   Ennemi.Y := 20;
  66. end;
  67.  
  68. procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
  69. begin
  70.   if Not DXDraw1.CanDraw then Exit;
  71.   Ennemi.X := Ennemi.X + Ennemi.Sens;
  72.   if ( Ennemi.X > DXDraw1.Width) or ( Ennemi.X < 0) then
  73.   begin
  74.     Ennemi.Sens := - Ennemi.Sens;
  75.     Ennemi.Y := Ennemi.Y + 5;
  76.   end;
  77.   if Ennemi.Y > DXDraw1.Height then close;
  78.   DXDraw1.Surface.Fill(0);
  79.   DXImageList1.Items.Find('vaisseau').Draw( DXDraw1.Surface, Ennemi.X, Ennemi.Y, 0);
  80.   DXDraw1.Flip;
  81. end;
  82.  
  83. end.
  84.