Показать сообщение отдельно
Старый 17.11.2006, 02:20   #4
WaReZ_MEN
Модератор
 
Регистрация: 20.06.2006
Сообщений: 363
Написано 24 полезных сообщений
(для 44 пользователей)
Re: Нахождение пути

Сообщение от DarkKnight
а как определять у какой именно точки значение 0 или 1?
end.
1. Обычным условием определяешь типа IF a[i,j]=1 then .....
2. Не ресуется потому что у тебя все значения в масиве равны 20 и координаты у ректангла тоже тоесть координаты первой точки ты берешь из масива (а они равны 20) и координаты второи точки прямоугольника у тебя тоже 20. ты внемательнее посмотри параметры у ректангла...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
    Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
  Form1: TForm1;
  a:array[1..10,1..10] of byte;
  i,x,y:byte;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
//Присваиваем X и У начальные значения
//Забиваем в массив Х-координаты
for i:=1 to 10 do
   begin
       inc(x,20);
       inc(y,20);
       a[1,i]:=x+20;
       a[2,i]:=x+20;
   end;
end;
procedure TForm1.FormDblClick(Sender: TObject);
begin
//Берём координаты из массива
//и рисуем квадратики с синей штриховкой
for i:=1 to 10 do
   begin
      Canvas.Brush.Color := clBlue;
      Canvas.Brush.Style := bsBDiagonal;
      Canvas.Rectangle(a[1,i],a[2,i]+50,a[1,i]+20,a[2,i]+70);
   end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Берём координаты из массива
//и рисуем квадратики с красной штриховкой
for i:=1 to 10 do
   begin
      Canvas.Brush.Color := clRed;
      Canvas.Brush.Style := bsBDiagonal;
      Canvas.Rectangle(a[1,i],a[2,i],a[1,i]+20,a[2,i]+20);
   end;
end;
end.
(Offline)
 
Ответить с цитированием