annotate unit_Easteregg.pas @ 2:104f349dcfcc default tip

Added tag cdar-2.3 for changeset 87b91371db05b8cabe2dc3e2d2dc3ba830ab463b
author "Meillo r e t u r n s <meillo@marmaro.de>"
date Sun, 03 Dec 2006 21:56:41 +0100
parents ef71164288c1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
1 unit unit_Easteregg;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
2
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
3 interface//####################################################################################
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
4
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
5 uses
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
7 Dialogs, jpeg, ExtCtrls;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
8
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
9 type
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
10 Tform_easteregg = class(TForm)
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
11 img_Marmaro: TImage;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
12 Timer1: TTimer;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
13 procedure img_MarmaroClick(Sender: TObject);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
14 procedure Timer1Timer(Sender: TObject);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
15 procedure FormCreate(Sender: TObject);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
16 private
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
17 vx : integer;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
18 vy : integer;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
19 x1 : integer;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
20 y1 : integer;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
21 x2 : integer;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
22 y2 : integer;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
23 public
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
24 { Public declarations }
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
25 end;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
26
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
27 var
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
28 form_easteregg: Tform_easteregg;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
29
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
30 implementation//###############################################################################
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
31
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
32 {$R *.dfm}//###################################################################################
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
33
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
34 //------------------------------------------------------------------------------ form create
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
35 procedure Tform_easteregg.FormCreate(Sender: TObject);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
36 begin
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
37 vx := 0;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
38 vy := 0;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
39 x1 := form_Easteregg.Left + (form_Easteregg.Width div 2);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
40 y1 := form_Easteregg.top + (form_Easteregg.height div 2);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
41 x2 := screen.Width div 2;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
42 y2 := screen.Height div 2;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
43 end;//--------------------------------------------------------------------------
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
44
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
45 //#############################################################################################
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
46
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
47 //------------------------------------------------------------------------------ kill
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
48 procedure Tform_easteregg.img_MarmaroClick(Sender: TObject);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
49 begin
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
50 application.Terminate;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
51 end;//--------------------------------------------------------------------------
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
52
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
53 //------------------------------------------------------------------------------ move form
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
54 procedure Tform_easteregg.Timer1Timer(Sender: TObject);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
55 begin
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
56 // keep window in foreground
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
57 SetWindowPos(handle, HWND_TopMost, left, top, width, height, SWP_ShowWindow);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
58
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
59 randomize; // for better random
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
60
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
61 x1 := form_Easteregg.Left + (form_Easteregg.Width div 2);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
62 y1 := form_Easteregg.top + (form_Easteregg.height div 2);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
63
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
64 if x1 < x2 then
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
65 begin
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
66 vx := vx + (random(10)-4);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
67 end
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
68 else
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
69 begin
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
70 vx := vx + (random(10)-6);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
71 end;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
72
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
73 if y1 < y2 then
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
74 begin
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
75 vy := vy + (random(10)-4);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
76 end
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
77 else
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
78 begin
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
79 vy := vy + (random(10)-6);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
80 end;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
81
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
82 if (vx > 0) then form_easteregg.Left := form_easteregg.Left + (random(2)+1)
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
83 else form_easteregg.Left := form_easteregg.Left - (random(2)+1);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
84
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
85 if (vy > 0) then form_easteregg.top := form_easteregg.top + (random(2)+1)
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
86 else form_easteregg.top := form_easteregg.top - (random(2)+1);
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
87
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
88 if form_easteregg.Left < 0 then form_Easteregg.left := 0;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
89 if form_easteregg.Left > screen.Width - form_easteregg.Width then
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
90 form_Easteregg.Left := screen.Width - form_Easteregg.Width;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
91 if form_easteregg.top < 0 then form_Easteregg.top := 0;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
92 if form_easteregg.top > screen.Height - form_easteregg.height then
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
93 form_Easteregg.top := screen.Height - form_Easteregg.height;
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
94 end;//--------------------------------------------------------------------------
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
95
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
96
ef71164288c1 begin of using hg for cdar
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
97 end.//########################################################################################