компьютерный форум
Вернуться   Компьютерный форум > Программирование и вебстроительство > Программирование

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 08.04.2005, 21:24   #1
Пользователи
 
Регистрация: 08.04.2005
Сообщений: 11
По умолчанию

:help: Срочно нуна сдать проект по дельфе. Условие задачи такое: Эвран монитора пересекают n прямых(совершенно случайных). Образовавшиеся многоугольники надо закрасить 2-мя цветами так, чтобы радом лежащие фигуры были разного цвета. Какая-то погрешность возможна... ХЕЕЕЛП!!!! Зачет сдавать нада!!!! Я сам поковырялся немно... много, мало чего наковырял.
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Image1: TImage;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var //Canvas:TCanvas; FillStyle:TFillStyle;
n,i,j:integer; f1,f2,s1,s2,t1,t2,px,py,px1,py1:longint; f,s,t:TColor;
begin
Form1.Left:=0;
Form1.Top:=0;
Form1.Width:=Screen.Width;
Form1.Height:=Screen.Height;
Image1.Left:=0;
Image1.Top:=0;
Image1.Width:=Screen.Width;
Image1.Height:=Screen.Height;

randomize;
n:=random(100);
For i:=1 to n do begin
Image1.Canvas.Pixels[px,py]:=clWhite;
px:=random(2);
py:=random(2);
px1:=random(2);
py1:=random(2);
If px=1 then px:=random(800)
else px:=screen.Width;
if py=0 then py:=screen.Height
else py:=0;
If px1=1 then px1:=random(800)
else px1:=screen.Width;
if py1=0 then py1:=0
else py1:=screen.Height;
{if i mod 5=0 then begin
px:=0;
py:=0;
end;}
If (px=0)and(py=0) then
Image1.Canvas.Pen.Color:=clWhite else
Image1.Canvas.Pen.Color:=clblack;
Image1.Canvas.MoveTo(px,py);
Image1.Canvas.LineTo(px1,py1);
end;

Image1.Canvas.MoveTo(0,0);
Image1.Canvas.Pen.Color:=clBlack;
Image1.Canvas.LineTo(screen.Width,0);
Image1.Canvas.LineTo(screen.Width,screen.Height);
Image1.Canvas.LineTo(0,screen.Height);
Image1.Canvas.LineTo(0,0);

px:=2;
py:=2;
If Image1.Canvas.Pixels[px,py]=clblack then
px:=px+1
else
begin
Image1.Canvas.Brush.Color:=clred;
Image1.Canvas.FloodFill(px,py,clblack,fsBorder);
end;
f:=Image1.canvas.brush.color;
f1:=px;
f2:=py;
While pxScreen.Width do begin
While Image1.Canvas.Pixels[px,py]=clblack do begin
px:=px+1;
end;

If Image1.Canvas.Pixels[px,py]=clblack then begin
px:=px+1;
Image1.Canvas.Brush.Color:=clgreen;
Image1.Canvas.FloodFill(px,py,clblack,fsborder);
end;

If Image1.Canvas.Pixels[px,py]=clred then begin
px:=px+1;
end;

end;


end;

end.





EvilMAn вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
08.04.2005, 21:24
Техник
реклама
По умолчанию

Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 23:36. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Content Relevant URLs by vBSEO 3.5.0 RC2