Нарисовать в разных местах экрана пятиугольник, закрашенный сектор эллипса, ромб, куб - Pascal ABC
Формулировка задачи:
1)Нарисовать в разных местах экрана пятиугольник, закрашенный сектор эллипса, ромб, куб.
С помощью графических примитивов нарисовать рекламу.
2) Линия вращается вокруг одной из своих точек. Цвет линии должен меняться через различные промежутки времени. При каждом повторном запуске длина прямой и точка, вокруг которой она вращается, должны варьироваться случайно.
3) Нарисовать автомобили, которые двиг. по экрану. Колеса автомоблей крутятся.
Кому не трудно помогите!..завал немного)
Заренее Спасибо!
Решение задачи: «Нарисовать в разных местах экрана пятиугольник, закрашенный сектор эллипса, ромб, куб»
textual
Листинг программы
uses graphABC,crt; const a: array [1..5] of integer =(clred,clblue,clgreen,clpurple,clgray); var i,j:integer; uu: integer; procedure Koleso(xk1,yk1,xk2,yk2,uu: integer); var r,i:integer; u:real; begin r:=15;u:=uu; setbrushcolor(clblack); circle(xk1,yk1,r+10); circle(xk2,yk2,r+10); setbrushcolor(clwhite); circle(xk1,yk1,r); circle(xk2,yk2,r); for i:=1 to 4 do begin line(xk1,yk1,xk1+round(r*cos(u)),yk1-round(r*sin(u))); line(xk2,yk2,xk2+round(r*cos(u)),yk2-round(r*sin(u))); u:=u+(pi/2); end; end; procedure Auto(j: integer); var xk1,yk1,xk2,yk2,x,y: integer; begin uu:=0; for x:=-200 to 1100 do begin clearwindow; setpenwidth(3); setpencolor(j); setbrushcolor(j); rectangle(x-150,400,x+150,450); setbrushcolor(clwhite); rectangle(x-80,350,x+50,400); line(x-80,350,x-130,400); line(x+50,350,x+100,400); line(x-15,350,x-15,400); xk1:=x-100; xk2:=x+100; yk1:=450; yk2:=450; setpencolor(clblack); Koleso(xk1,yk1,xk2,yk2,uu); sleep(1); redraw; uu:=uu-5; end; end; begin lockdrawing; hidecursor; setwindowsize(900,600); repeat uu:=0; j:=random(5)+1; Auto(a[j]); until keypressed; end.
Объяснение кода листинга программы
- Объявлены константы и переменные:
- a: массив из пяти целочисленных значений, представляющих цвета (например, clred - красный цвет).
- i, j: целочисленные переменные для использования в циклах.
- uu: целочисленная переменная для хранения значения, используемого в процедуре Koleso.
- Определена процедура Koleso, которая рисует два колеса (каждое из которых состоит из пяти сегментов, образующих форму пятиугольника), используя заданные координаты и цвет.
- Определена процедура Auto, которая рисует раму вокруг экрана и в его пределах рисует пятиугольник с обводкой и заливкой, используя заданный цвет.
- В основном блоке кода используется цикл repeat-until для запуска автоматического рисования с случайным интервалом, пока не будет нажата клавиша.
- В начале каждого интервала переменная uu сбрасывается до нуля, а затем выбирается случайный цвет из массива a.
- Значение переменной j используется в качестве индекса для выбора цвета из массива a.
- Во время каждого интервала рисования вызывается процедура Auto с выбранным цветом и случайными координатами для пятиугольника.
- Код завершается, когда нажата клавиша.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д