Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.30;
Скачать: CL | DM;

Вниз

Помогите с графикой...   Найти похожие ветки 

 
Nukac   (2003-08-29 13:58) [0]

Добрый день.
Есть задание: "По PaintBox случайно блуждает точка, оставляя за собой след ровно из 10 точек". Подскажите, пожалуйста, как лучше сделать... Надо хотя бы заставить одну точку так двигаться...
Заранее спасибо.


 
MBo ©   (2003-08-29 14:12) [1]

список или массив из 10 точек, в новой позиции стираешь самую старую, рисуешь новую и заносишь в список


 
BOA_KAA ©   (2003-08-29 14:38) [2]

Безо всякой оптимизации и прочих прибамбасов нормального программирования мне понадобилось роовно 6 мин. на написание всей программы. Еще не более 2х мне понадобилось бы, чтобы избавиться от лишних переменных и оптимизировать. Вопрос: Чего здесь сложного???

unit Unit1;

interface

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

type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Xold, Yold: Integer;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
i, X, Y, dX, dY: Integer;
DivX, DivY: Double;
Points: array [1..10] of TPoint;
begin
with PaintBox1.Canvas do
begin
X:=Random(PaintBox1.Width);
Y:=Random(PaintBox1.Height);
dX:=Xold-X;
dY:=Yold-Y;
DivX:=dX/11;
DivY:=dY/11;
for i:=1 to 10 do
begin
Points[i].X:=X+Round(i*DivX);
Points[i].Y:=Y+Round(i*DivY);
Pixels[Points[i].X, Points[i].Y]:=$000000;
end;
Pixels[X,Y]:=$000000;
Xold:=X;
Yold:=Y;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
Timer1.Enabled:=True;
Xold:=Random(PaintBox1.Width);
Yold:=Random(PaintBox1.Height);
PaintBox1.Canvas.Pixels[Xold, Yold]:=$000000;
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2003.12.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-99526
Nik Samivan
2003-12-15 17:19
2003.12.30
Нужна помощь касательно шифрования строк в Delphi


1-99552
f3n
2003-12-18 07:05
2003.12.30
---> StringGrid и шрифты


1-99551
DelphiNew
2003-12-16 10:40
2003.12.30
проверка на кол-во символов


3-99441
123456
2003-12-05 22:56
2003.12.30
WinXP pro and MSSQL 2000 Enteprise Edition


14-99763
Шишкин Илья
2003-12-05 13:38
2003.12.30
Хостинг на HotBox