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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 20:31   #1
Борис Владимирович
 
Регистрация: 01.12.2011
Сообщений: 4
Печаль Работа с графикой, т.е. рисовать в самой программе, изменение цвета, масштаб и тд

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

завтра последний день сдачи лабораторных работ, я восемь сделал на 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.
Борис Владимирович вне форума Ответить с цитированием
Старый 02.12.2011, 02:16   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Читаем правила раздела.
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с exe файлом программы в самой программе TriV Помощь студентам 6 11.03.2011 22:08
цвета в программе fize Помощь студентам 6 16.12.2009 18:24
Изменение цвета girz Общие вопросы Delphi 6 30.05.2009 13:43
Работа с DIB, изменение глубины цвета JOHNKZ1 Мультимедиа в Delphi 7 18.12.2008 06:52
Проблемы с графикой в Delphi, Индексирование цвета zzz(KOT)zzz Общие вопросы Delphi 8 20.06.2007 20:57