A Micro Project On CGR
A Micro Project On CGR
In Turbo C graphics the graphics.h functions are used to draw different shapes(like a
circle, rectangle, etc), and display text(any message) in different formats (different
fonts and colors). By using graphics.h programs, animations, and also games can be
designed. These can be useful for beginners.
This program demonstrates how a man walks in the rain with an umbrella, and when
a key is pressed, the rain ceases, and a rainbow appears in the sky.
• Header Files:
The header files stdio.h, conio.h, and graphics.h are included because functions
defined in these files are used in the program. The #define command is used to
define some important elements used throughout the program.
• Functions Used:
getmaxx(): The graphics.h header file contains the getmaxx() function that returns
the maximum X coordinate for the current graphics mode and driver.
getmaxy(): The function getmaxy() returns the maximum Y coordinate for the
current graphics mode and driver.
setcolor(): The setcolor() function sets the current drawing color to the new color.
rectangle(): rectangle() draws a rectangle. To draw the rectangle, you will need the
coordinates of the left top corner and the right bottom corner. The left coordinate
specifies the X-coordinate of the top left corner, the top coordinate specifies the Y-
coordinate of the top left corner, the right coordinate specifies the X-coordinate of
the right bottom corner, and the bottom coordinate specifies the Y-coordinate of the
right bottom corner.
line(): The line() function draws a line from a point (x1,y1) to a point (x2,y2), i.e.
(x1,y1) and (x2,y2) are the endpoints of the line.
pieslice(): This function draws and fills a pie slice with a given radius r and a center
at (x, y). The slice starts from and ends at s_angle and e_angle, respectively.
delay(): The delay function suspends the execution of a program for a specified
period of time.
arc(): The header file graphics.h contains the arc() function which draws an arc with
a center at (x, y) and a given radius.
Custom Functions:
Approach:
In this program, we will create scenery with a hut, sun, and rainfall. In this scenery, a
man holds an umbrella and walks through the ground. When a key is pressed, the
rain stops, and a rainbow appears.
Ground Level: To create a ground line, we will first use GroundY ScreenHeight to
define the ground level.
Hut: The hut will be built for the scenery. For the base and roof, rectangles and lines
will be used. The hut will be colorful.
Man and Umbrella: Build a man holding an umbrella. A circle forms the head of the
man, and lines make up his body. Lines representing the legs have variable
coordinates so it appears as if the man is walking on the ground. Using the pieslice
function we will create the body of an umbrella and lines for the stick.
Rain: Create rain using the rand() function to generate random pixels and create
small lines to create a rain effect
Circle: To create a sun in the top left corner we will use a circle.
Rainbow: Create a rainbow in the top left corner using the arc function. The delay
function gives it an animation.
void hut()
{
setcolor(WHITE);
rectangle(150, 180, 250, 300);
rectangle(250, 180, 420, 300);
rectangle(180, 250, 220, 300);
setfillstyle(SOLID_FILL, BROWN);
floodfill(152, 182, WHITE);
floodfill(252, 182, WHITE);
setfillstyle(SLASH_FILL, BLUE);
floodfill(182, 252, WHITE);
setfillstyle(HATCH_FILL, GREEN);
floodfill(200, 105, WHITE);
floodfill(210, 105, WHITE);
}
{
int x, y, i;
setcolor(i / 10);
void main()
{
int gd = DETECT, gm, x = 0;
initgraph(&gd, &gm,"C:\TURBOC3\BIN");
while (!kbhit())
{
hut();
circle(ScreenWidth - 100,50, 30);
setfillstyle(SOLID_FILL,YELLOW);
floodfill(ScreenWidth - 100,50, WHITE);
line(0, GroundY, ScreenWidth,GroundY);
Rain(x);
Output: