Fontanna

0

zmieniłem sobie kod z pascala na delphi (kod do pascala: kody źródłowe&gt&gtpascal&gt&gtfontanna.rar)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
PROCEDURE move;
PROCEDURE reset;
PROCEDURE rysuj;
PROCEDURE testuj_kierunek;
end;

var
Form1: TForm1;
opek : boolean;
pozycja_x,pozycja_y,predkosc_x,predkosc_y, szybkosc_opadania,kierunek_x,kierunek_y :real;

implementation

{$R *.DFM}

PROCEDURE Tform1.reset;
begin

pozycja_x:=160;
pozycja_y:=170;

predkosc_x:=(random(5)+1)/10+(random(2)+1)/4;
predkosc_y:=(random(3)+1)/10+(random(2)+1)/2;
szybkosc_opadania:=(random(3)+1)/160;

kierunek_y:=-1;
kierunek_x:=random(2);

if kierunek_x=0 then
begin
kierunek_x:=-1;
end;

end;

PROCEDURE Tform1.testuj_kierunek;
begin

if (kierunek_y=-1) and (predkosc_y&lt=0) then
begin
kierunek_y:=1;
end;

if (pozycja_y&gt198) or (pozycja_y&lt1)then
begin
reset;
end;

if (pozycja_x&gt318) or (pozycja_x&lt1) then
begin
reset;
end;
end;

PROCEDURE Tform1.move;
begin
testuj_kierunek;
pozycja_x:=pozycja_x + (kierunek_xpredkosc_x);
predkosc_y:=predkosc_y + (szybkosc_opadania
kierunek_y);
pozycja_y:=pozycja_y + (predkosc_y*kierunek_y);
end;

PROCEDURE tform1.rysuj;
begin
image1.canvas.pixels[trunc(pozycja_x),trunc(pozycja_y)] := clblack;
move;
image1.canvas.pixels[trunc(pozycja_x),trunc(pozycja_y)] := clblack;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
opek := false;
randomize;
{for loop:=1 to 30 do
begin
setcol(loop,0,63-loop,63-loop);
end; }
{
for loop:=1 to 1000 do
begin
application.ProcessMessages;
w_krople[loop].reset;
end; }
application.ProcessMessages;
repeat
application.ProcessMessages;
sleep(100);
application.ProcessMessages;
form1.image1.picture := nil;
application.ProcessMessages;
rysuj;
until opek = true;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

opek := false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
opek := true;
end;

end.

i rysuje mi tylko jeden piksel a ja chce any mi rysowało gdzieś np. 400 takich pikseli gdzie indziej :)

0

Ej a to ma sie rysowac Buttonem 1 czy 2 ??--Delphi 6, Pascal

----====Pozdrawiam @LL====----
------====== RFL ======------
--==[ [email protected] ]==--

0

button1 rysuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1