Передвижение графических объектов - 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();
}
}Решение задачи: «Передвижение графических объектов»
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();
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с графикой и вводом-выводом
- Объявление переменных
xиy, инициализация их значений - Инициализация графического окна с помощью функции
initwindow() - Запуск цикла while, который выполняется до тех пор, пока значение переменной
xменьше 800 - В каждой итерации цикла происходит установка цвета на 15 (красный), рисование окружности с центром в текущих координатах
xиyи радиусом 20 с помощью функцииcircle() - Задержка в 30 миллисекунд с помощью функции
delay() - Установка цвета на 0 (черный)
- Рисование окружности с центром в текущих координатах
xиyи радиусом 20 с помощью функцииcircle() - Увеличение значения переменной
xна 1, а значение переменнойyна 1 - Завершение цикла while
- Получение ввода от пользователя с помощью функции
getchar() - Закрытие графического окна с помощью функции
closegraph()