Flying Bird с использованием компьютерной графики на C/C++

Опубликовано: 6 Октября, 2022

В компьютерной графике C ++ предоставляет graphic.h, с помощью которого можно создавать объекты, и с помощью этих объектов можно создавать летающих птиц в программе C ++.

Функции, используемые в этой программе, следующие:

  • line(): функция линии используется для рисования линии.
    Синтаксис:

line(x1, y1, x2, y2); 
where, (x1, y1) (x2, y2) are end points of the line. 
 

  • arc(): функция дуги используется для рисования дуги.
    Синтаксис:

arc(x, y, start_angle, end_angle, r); 
where, (x, y) are centre of the arc, start_angle is the starting angle, end_angle is the ending angle and r is the radius of angle.

  • Circle(): функция Circle используется для рисования круга.
    Синтаксис:

circle(x, y, r); 
where, (x, y) is the centre points and r is the radius of the circle.

  • delay(): Функция задержки используется для остановки экрана на определенное время, так как выполнение программы происходит очень быстро.
    Синтаксис:

delay(n); 
where, n is number of seconds you want to stop the screen.

  • cleardevice(): функция cleardevice используется для очистки экрана.
  • closegraph(): функция closegraph используется для закрытия графика.

Ниже приведена программа C++, реализующая летающую птицу с помощью Graphics.h:

C++




// C++ program implementing flying bird using graphics.h
 
#include <conio.h>
#include <dos.h>
#include <graphics.h>
#include <iostream.h>
 
// Wings
void handDown(int i)
{
    line(85 + i, 155, 45 + i, 185);
    line(85 + i, 155, 115 + i, 195);
    arc(90 + i, 130, 228, 292, 70);
}
 
void handUp(int i)
{
    line(85 + i, 155, 125 + i, 115);
    line(85 + i, 155, 55 + i, 118);
    arc(90 + i, 177, 60, 122, 70);
}
 
// Driver code
void main()
{
    int gd = DETECT, gm;
 
    // Path of the BGI folder
    initgraph(&gd, &gm, "C:\TURBOC3\BGI");
    int i = 0;
 
    for (i = 0; i < 400; i++) {
        // Body
        circle(150 + i, 150, 20);
        arc(90 + i, 190, 50, 145, 60);
        arc(87 + i, 117, 220, 320, 60);
 
        // Beak
        line(170 + i, 147, 180 + i, 153);
        line(180 + i, 153, 170 + i, 156);
 
        // Eye
        circle(162 + i, 150, 2);
 
        // Tail
        line(10 + i, 155, 40 + i, 155);
        line(10 + i, 145, 40 + i, 155);
        line(10 + i, 165, 40 + i, 155);
 
        // Move hands
        if (i % 2 == 0)
            handUp(i);
        else
            handDown(i);
 
        // Stop the screen for 10 secs
        delay(10);
 
        // Clear the screen
    }
    cleardevice();
 
    getch();
 
    // Close the graph
    closegraph();
}

Выход: