1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| {$FRAME_WIDTH 210}
{$FRAME_HEIGHT 400}
{$BACKGROUND $303030}
program Sapin;
uses
Flash8, Couleurs, Etoile;
{ --- Extrait modifié de FlashMine.fpr --------------------------------------- }
type
TBoule = class(MovieClip)
constructor Create(Name: string; x, y, c, d: Integer);
procedure Circle(radius: Integer);
procedure IsBomb(color: Integer);
end;
TMatrix = class
matrixType: string;
x,y,w,h : Double;
r : Double;
constructor Create;
end;
var
Boules : array[0..9] of TBoule;
Matrix : TMatrix;
constructor TBoule.Create(Name: string; x, y, c, d: Integer);
begin
inherited Create(nil, Name, d);
_x := x;
_y := y;
IsBomb(c);
end;
procedure TBoule.Circle(Radius: Integer);
var
a : Double;
c1,s1: Double;
c2,s2: Double;
r2 : Double;
begin
a := 3.14/4;
c1 := cos(a);
s1 := sin(a);
a := 3.14/8;
c2 := cos(a);
s2 := sin(a);
r2 := 11 * Radius/10;
moveTo(0,Radius);
curveTo( r2*s2, r2*c2, Radius*s1, Radius*c1);
curveTo( r2*c2, r2*s2, Radius,0);
curveTo( r2*c2,-r2*s2, Radius*s1,-Radius*c1);
curveTo( r2*s2,-r2*c2, 0,-Radius);
curveTo(-r2*s2,-r2*c2,-Radius*c1,-Radius*s1);
curveTo(-r2*c2,-r2*s2, -Radius,0);
curveTo(-r2*c2, r2*s2,-Radius*c1, Radius*s1);
curveTo(-r2*s2, r2*c2, 0,Radius);
end;
procedure TBoule.IsBomb(color: Integer);
begin
lineStyle(0, color);
beginGradientFill('radial', [$ffffff, color], [100,100], [0,255], Matrix);
circle(8);
endFill;
end;
constructor TMatrix.Create;
begin
matrixType := 'box';
x := -4.5;
y := -4.5;
w := 6;
h := 6;
r := 0;
end;
{ --- Fin de l'extrait ------------------------------------------------------- }
var
Etoile: TEtoile;
i: Integer;
begin
with _root do
begin
lineStyle(0, Bistre);
moveTo(100-10, 355);
beginFill(DarkBrown);
lineTo(100+10, 355);
lineTo(100+10, 395);
lineTo(100-10, 395);
lineTo(100-10, 355);
endFill();
lineStyle(0, DarkGreen);
for i := 0 to 4 do
begin
moveTo(100, 275-60*i);
beginFill(Green);
lineTo(100+80, 355-60*i);
lineTo(100-80, 355-60*i);
lineTo(100, 275-60*i);
endFill();
end;
end;
Matrix := TMatrix.Create;
Boules[0] := TBoule.Create('cell_0', 020+10, 355+10, DarkRed, 0);
Boules[1] := TBoule.Create('cell_0', 180-10, 355+10, DarkRed, 1);
Boules[2] := TBoule.Create('cell_0', 020+10, 295+10, DarkRed, 2);
Boules[3] := TBoule.Create('cell_0', 180-10, 295+10, DarkRed, 3);
Boules[4] := TBoule.Create('cell_0', 020+10, 235+10, DarkRed, 4);
Boules[5] := TBoule.Create('cell_0', 180-10, 235+10, DarkRed, 5);
Boules[6] := TBoule.Create('cell_0', 020+10, 175+10, DarkRed, 6);
Boules[7] := TBoule.Create('cell_0', 180-10, 175+10, DarkRed, 7);
Boules[8] := TBoule.Create('cell_0', 020+10, 115+10, DarkRed, 8);
Boules[9] := TBoule.Create('cell_0', 180-10, 115+10, DarkRed, 9);
Etoile := TEtoile.Create(nil, '', 10);
Etoile._x := 100;
Etoile._y := 20;
Etoile.tracerUneEtoile(4, 14, 8, Tangerine, Yellow);
end. |
Partager