Ошибка в построении - Pascal ABC (12616)

Узнай цену своей работы

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

Прошу помочь. В чем ошибка? Программа утолщает линии, а нужно, чтобы она самостоятельно строила такие же деревья независимо от месторасположения.

Решение задачи: «Ошибка в построении»

textual
Листинг программы
var k:integer;
........................
procedure Tree;
//деревья
begin
if (se1.value>k)and(k<8) then
begin
e.Pen.Color:=clBlack;
e.Brush.Color:=clBlack;
e.Brush.Style:=bsSolid;
x:=x+75;
repeat
y:=300+random(200);
until e.GetPixel(x,y)=clGreen;
e.rectangle(x-10, y-100, x+10, y);
e.Pen.Color:=clGreen;
e.Brush.Color:=clGreen;
e.Brush.Style:=bsSolid;
e.Circle(x, y-90, 30);
e.Circle(x+20, y-90, 30);
e.Circle(x-10, y-110, 30);
e.Circle(x+30, y-110, 30);
e.Circle(x+10, y-130, 30);
k:=se1.value;
end;
end;

Объяснение кода листинга программы

  1. Переменная k объявлена как integer.
  2. Создается процедура Tree.
  3. Выполняется проверка условия: если значение переменной se1 больше k и k меньше 8, то цвет кисти и прямоугольника меняется на черный.
  4. Вычисляется значение x, увеличивается на 75.
  5. Выполняется цикл, пока не будет найден зеленый цвет на пикселе.
  6. Показывается прямоугольник с шириной и высотой, определенными значениями x и y.
  7. Цвет кисти и прямоугольника меняется на зеленый.
  8. Вычисляется значение y, увеличивается на 100 случайным образом.
  9. Повторяется шаг 5 до тех пор, пока не будет найден зеленый цвет на пикселе.
  10. Показывается прямоугольник с шириной и высотой, определенными значениями x и y.
  11. Цвет кисти и прямоугольника меняется на зеленый.
  12. Вычисляется значение x, увеличивается на 100 случайным образом.
  13. Вычисляется значение y, увеличивается на 110 случайным образом.
  14. Показывается окружность с радиусом 30 пикселей в точке (x, y).
  15. Показывается окружность с радиусом 30 пикселей в точке (x+20, y).
  16. Показывается окружность с радиусом 30 пикселей в точке (x-10, y).
  17. Показывается окружность с радиусом 30 пикселей в точке (x+30, y).
  18. Показывается окружность с радиусом 30 пикселей в точке (x+10, y-130).
  19. Значение k устанавливается равным значению переменной se1.
  20. Код завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.333 из 5