![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Написать процедуру, которая рисовала бы лестницу. Данные: число ступенек, длина самой маленькой, величина, на которую изменяется длина каждой следующей ступеньки.
Помогите если возможно оптимизировать........Есть ли какие нибудь варианты сделать код попроще... так как он необходим для модуля... и можно указать ошибки в этом коде... Код:
uses graph; procedure st(a,b,c:integer;var w,r:integer); var x,y,z,q,e:integer; begin x:=220; y:=340; r:=x; z:=10; w:=x+b; q:=y; line(x,y,w,q); a:=a-1; e:=c; while a>0 do begin x:=w; y:=q-z; e:=e+c; w:=x+e; q:=y; line(x,y,w,q); a:=a-1; end; end; |
|
#2
|
||||
|
||||
|
Решу твою задачу так и быть)))
|
|
#3
|
||||
|
||||
|
Так устроит?
Код:
procedure TForm43.LadderDraw(StepCount,MinStep,Delta: Integer);
var
d,i,x,y: Integer;
begin
x := 0; y := 0;
PaintBox1.Canvas.Pen.Color := clRed;
PaintBox1.Canvas.MoveTo(x,y);
for i := 1 to StepCount
do begin
Inc(x,MinStep); PaintBox1.Canvas.LineTo(x,y);
Inc(y,MinStep); PaintBox1.Canvas.LineTo(x,y);
Inc(MinStep,Delta);
end;
end;
procedure TForm43.PaintBox1Paint(Sender: TObject);
begin
LadderDraw(10,4,3);
end; |
|
#4
|
|||
|
|||
|
Спасиб!! но В паскале не прокатит.... над проще....
|
|
#5
|
||||
|
||||
|
Не доглядел, что паскаль вас интересует, но кода это почти не меняет, там вроде операторы такие-же для рисования есть. MoveTo и LineTo
|