Нарисовать квадрат, который постоянно менянт цвет - Turbo Pascal

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

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

Нарисовать квадрат , который постоянно менянт цвет а когда нажимаешь любую клавишу прекращает.

Решение задачи: «Нарисовать квадрат, который постоянно менянт цвет»

textual
Листинг программы
uses graph,crt;
var x,y,a,i:integer;
begin
randomize;
initgraph(x,y,'');
x:=getmaxX div 2;
y:=getmaxY div 2;
a:=y div 2;
outtextXY(x-100,10,'Stop any key(no Enter)');
repeat
i:=2+random(14);
setfillstyle(1,i);
setcolor(i);
bar(x-a,y-a,x+a,y+a);
delay(500);
until keypressed;
cleardevice;
setcolor(15);
outtextXY(x-50,y,'Press Enter');
readln
end.

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

  1. В начале кода подключаются необходимые библиотеки graph и crt.
  2. Переменные x, y, a и i объявляются как целочисленные.
  3. Функция randomize вызывается для инициализации генератора случайных чисел.
  4. Функция initgraph(x, y, ``) вызывается для инициализации графического окна, где x и y - координаты верхнего левого угла окна, а пустая строка - название графического окна.
  5. Переменная x вычисляется как половина максимальной x-координаты.
  6. Переменная y вычисляется как половина максимальной y-координаты.
  7. Переменная a вычисляется как y делить на 2.
  8. С помощью функции outtextXY(x-100,10,'Stop any key(no Enter)') выводится текст в верхней левой части окна, который предупреждает пользователя о необходимости нажатия любой клавиши, кроме Enter.
  9. В цикле repeat...until выполняется следующая последовательность действий:
    • Переменная i инициализируется значением 2+random(14), что генерирует случайное число от 2 до 17.
    • С помощью функции setfillstyle(1,i) устанавливается стиль заполнения барами на 1 (т.е. сплошной цвет) и цвет i (который был случайно сгенерирован).
    • С помощью функции setcolor(i) устанавливается цвет барок на i (который был случайно сгенерирован).
    • Функция bar(x-a,y-a,x+a,y+a) рисует прямоугольник между координатами (x-a,y-a) и (x+a,y+a).
    • С помощью функции delay(500) задерживается выполнение программы на 500 миллисекунд.
  10. После завершения цикла keypressed? выводится сообщение 'Press Enter' с помощью функции outtextXY(x-50,y,'Press Enter') и функция readln() вызывается для чтения ввода пользователя.

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


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

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

10   голосов , оценка 4.3 из 5
Похожие ответы