Изобразить линии случайной длины, соединенные последовательно друг с другом под случайным углом - Pascal ABC

Формулировка задачи:

Требуется написать программу, изображающую линии случайной длины, соединенные последовательно друг с другом под случайным углом, кратным 60-и градусам. До этого выполнил такую же программу, но угол был кратен 90 градусам. Может кто подсказать, как сделать угол кратный 60-и градусам? Добавлено через 10 минут
Uses graphABC;
var N,err,X,Y,i:integer;
    S:string;
begin
writeln('Данная программа рисует линии случайной длинны под углом кратным 90',chr(176));
 
repeat
 writeln('Введите количество линий.');
 readln(s);
 val(s,N,err);
until err=0;
 
 
ClearWindow;
randomize;
X:=random(600);
Y:=random(450);
MoveTo(X,Y);
for i:=1 to N+1 do
 begin
  SetPenColor(RGB(random(350),random(350),random(350)));
  LineTo(X,Y);
   if (random(2)=1) then X:=random(600) else Y:=random(450);
 end;
end.
вот предыдущая версия программы с линиями под углом кратным 90 градусов

Код к задаче: «Изобразить линии случайной длины, соединенные последовательно друг с другом под случайным углом - Pascal ABC»

textual
Uses graphABC;
var N,err,X,Y,i,k,l:integer;
    S:string;
begin
n:=10;
setwindowsize(600,600);
centerwindow;
randomize;
X:=windowwidth div 2;
Y:=windowheight div 2;
MoveTo(X,Y);
for i:=1 to N+1 do
 begin
  SetPenColor(clRandom);
  k:=1+random(5);
  l:=20+random(100);
  X:=X+round(l*cos(k*pi/3));
  Y:=Y-round(l*sin(k*pi/3));
  LineTo(X,Y);
 end;
end.

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

9   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ