Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 21:13   #1
Борис Владимирович
 
Регистрация: 01.12.2011
Сообщений: 4
По умолчанию Работа с графикой в delphi

за сегодня сделал кучу работы и просто не могу нормально сосредоточится на программе. часть полный бред, мозг не варит, нужно сделать: Модернизировать приложение «Движение кораблика». Создать панель инструментов с компонентами, которые позволяют:
• менять масштаб кораблика;
• цвет линии кораблика;
• скорость движения;
• координаты базовой точки кораблика.

завтра последний день сдачи лабораторных работ, я восемь сделал на 9 не хватает, помогите пожалуйста.

Код:
var
Form5: TForm5;
maincolor:tcolor;
x,y:integer;
dx,dy:integer;
buf: TColor;
implementation
procedure TForm5.Titanik(x,y: integer; color: TColor);
// x,y координаты базовой точки, color цвет корабля
Begin
dx:=10; dy:=10;
With Form5.Canvas Do Begin
buf:=pen.Color;
pen.Color:=color; // установим нужный цвет
// рисуем корпус
MoveTo(x,y);
LineTo(x,y-2*dy) ; LineTo (x+10*dx, y-2*dy) ;
LineTo (x+11*dx, y-3*dy) ;	LineTo (x+17*dx,y-3*dy) ;
LineTo (x+14*dx, y) ; LineTo (x,y) ;
// надстройка
MoveTo(x+3*dx,y-2*dy) ;
LineTo (x+4*dx, y-3*dy) ;	LineTo (x+4*dx, y-4*dy) ;
LineTo (x+13*dx,y-4*dy) ;	LineTo (x+13*dx, y-3*dy) ;
MoveTo(x+5*dx,y-3*dy) ; LineTo (x+9*dx, y-3*dy) ;
Rectangle (x+8*dx, y-4*dy, x+11*dx, y-5*dy) ; // мостик
Rectangle (x+7*dx, y-4*dy, x+8*dx, y-7*dy) ; // труба
// иллюминаторы
Ellipse (x+11*dx,y-2*dy,x+12*dx,y-1*dy) ;
Ellipse (x+13*dx, y-2*dy, x+14*dx, y-1*dy) ;
MoveTo(x+10*dx,y-5*dy) ; LineTo(x+10*dx,y-10*dy); // мачта
MoveTo(x+17*dx,y-3*dy); // оснастка
LineTo(x+10*dx,y-10*dy);	 LineTo(x,y-2*dy);
pen.Color:=buf; // восстановим старый цвет карандаша
End;
End;


procedure TForm5.ToolButton1Click(Sender: TObject);
begin
x:=x+10;
y:=y+10;
end;

procedure TForm5.ToolButton2Click(Sender: TObject);
begin
dx:=dx+1;
dy:=dy+1;
end;

procedure TForm5.ToolButton3Click(Sender: TObject);
begin

end;

procedure TForm5.ToolButton4Click(Sender: TObject);
begin
x:=x-10;
y:=y-10;
end;

procedure TForm5.ToolButton5Click(Sender: TObject);
begin
timer1.Interval:=timer1.Interval+50 ;
if timer1.Interval>=500 then
showmessage('увеличте скорость');
end;

procedure TForm5.ToolButton6Click(Sender: TObject);
begin
timer1.Interval:=timer1.Interval-50;
if timer1.Interval=0 then
showmessage('уменьшите скорость');
end;

{$R *.dfm}

procedure TForm5.FormActivate(Sender: TObject);
begin
x:=0; y:=200;
Form5.Color:=clNavy;
Timer1.Interval := 50;

end;

procedure TForm5.Timer1Timer(Sender: TObject);
begin
Titanik(x,y,form5.color);
if x < Form5.ClientWidth then
x := x+5 else begin
x := 0; y := Random(50) + 100;
end;
Titanik(x,y,clWhite);

end;

end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 02.12.2011 в 09:27.
Борис Владимирович вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с графикой mrCloud C# (си шарп) 3 17.06.2011 14:25
Работа с графикой Dark Espeon Помощь студентам 1 06.04.2011 22:40
Работа с графикой! Gladiator Фриланс 6 10.03.2010 18:47
работа с графикой aiktz Помощь студентам 0 08.12.2009 17:51
Работа с графикой kminas Общие вопросы Delphi 5 21.11.2008 00:02