Mercurial > cdar
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 |
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.//######################################################################################## |