📜  使用 C/C++ 中的计算机图形编程绘制移动循环

📅  最后修改于: 2022-05-13 01:54:44.308000             🧑  作者: Mango

使用 C/C++ 中的计算机图形编程绘制移动循环

在 C 图形中, graphics.h 函数用于绘制不同的形状,如圆形、矩形等,以不同的格式(不同的字体和颜色)显示文本(任何消息)。通过使用头部 graphics.h 中的函数,还可以制作程序、动画和不同的游戏。在本文中,让我们讨论如何使用图形在 C 中绘制移动循环。

使用的功能:

  • line(x1, y1, x2, y2) 它是由 graphics.h 头文件提供的绘制线条的函数。这里x1、y1是直线的第一个坐标,x2、y2分别是直线的第二个坐标。
  • circle(x, y, r) 它是 graphics.h 头文件提供的一个绘制圆的函数。 x、y 是圆的中心点,r 是圆的半径。
  • rectangle(X1, Y1, X2, Y2) 它用于创建矩形。必须使用左上角和右下角的坐标绘制矩形。左上角的X坐标和Y坐标分别是X1Y1 ,右下角的X坐标和Y坐标分别是X2Y2
  • delay(n):用于将程序保留特定时间段。这里 n 是您想要保留程序的秒数。
  • cleardevice() 用于在图形模式下清除屏幕。它将光标的位置设置为其初始位置,即 (0, 0) 坐标。
  • closegraph() 用于关闭图形。

方法:以下是生成移动循环的步骤:

  • 将三个参数传递给initgraph()函数以初始化图形驱动程序和图形模式。
  • 通过绘制线条创建循环的上半身。
  • 通过绘制圆圈来创建自行车的轮子并选择坐标,使轮子对齐在自行车上半身的正下方。
  • 下一步是通过绘制线条来创建道路,并通过绘制矩形来创建石头。
  • 选择坐标,使自行车正好位于道路上方。
  • 使用循环不断更改自行车的位置,使其看起来在道路上移动。

下面是上述方法的实现:

C++
// C++ program to draw the moving
// cycle using computer graphics
  
#include 
#include 
#include 
#include 
  
// Driver code
int main()
{
    int gd = DETECT, gm, i, a;
  
    // Path of the program
    initgraph(&gd, &gm, "C:\\TURBOC3\\BGI");
  
    // Move the cycle
    for (i = 0; i < 600; i++) {
        // Upper body of cycle
        line(50 + i, 405, 100 + i, 405);
        line(75 + i, 375, 125 + i, 375);
        line(50 + i, 405, 75 + i, 375);
        line(100 + i, 405, 100 + i, 345);
        line(150 + i, 405, 100 + i, 345);
        line(75 + i, 345, 75 + i, 370);
        line(70 + i, 370, 80 + i, 370);
        line(80 + i, 345, 100 + i, 345);
  
        // Wheel
        circle(150 + i, 405, 30);
        circle(50 + i, 405, 30);
  
        // Road
        line(0, 436, getmaxx(), 436);
  
        // Stone
        rectangle(getmaxx() - i, 436,
                  650 - i, 431);
  
        // Stop the screen for 10 secs
        delay(10);
  
        // Clear the screen
        cleardevice();
    }
  
    getch();
  
    // Close the graph
    closegraph();
}


输出:

想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解语言和 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程