Передвижение графических объектов - C (СИ)

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

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

#include <graphics.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
 
int main()
{
int gdriver = DETECT, gmode, errorcode;
int style, midx, midy;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
errorcode = graphresult(); 
if (errorcode != grOk) 
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
getch();
exit(1); 
}
midx = getmaxx() / 2; 
midy = getmaxy() / 2; 
{
circle(50, 50, 15); 
circle(150, 150, 15);
circle(250, 250, 15);
getch();
}
}
В общем круг рисуется всё норм,но мне бы его перемещать как-то по диагонали,с заданным шагом и задержкой в полторы секунды (ну там delay вроде)

Решение задачи: «Передвижение графических объектов»

textual
Листинг программы
#include <graphics.h>
#include <stdio.h>
#include <math.h>
 main()
{
int x=0,y=20;
initwindow ( 800, 800 );
while(x<800) {
    setcolor (15);
   circle(x, y, 20);
   delay ( 30 );
    setcolor (0);
   circle(x, y, 20);
  x = x+1; y = y+1;
   }
getchar();
closegraph();
}

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

  1. Подключение необходимых библиотек для работы с графикой и вводом-выводом
  2. Объявление переменных x и y, инициализация их значений
  3. Инициализация графического окна с помощью функции initwindow()
  4. Запуск цикла while, который выполняется до тех пор, пока значение переменной x меньше 800
  5. В каждой итерации цикла происходит установка цвета на 15 (красный), рисование окружности с центром в текущих координатах x и y и радиусом 20 с помощью функции circle()
  6. Задержка в 30 миллисекунд с помощью функции delay()
  7. Установка цвета на 0 (черный)
  8. Рисование окружности с центром в текущих координатах x и y и радиусом 20 с помощью функции circle()
  9. Увеличение значения переменной x на 1, а значение переменной y на 1
  10. Завершение цикла while
  11. Получение ввода от пользователя с помощью функции getchar()
  12. Закрытие графического окна с помощью функции closegraph()

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

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