CGR Micro Project Report With Diary
CGR Micro Project Report With Diary
1.0 Introduction:
This project pays homage to the Doraemon beloved animated character by harnessing the
power of C programming and animation techniques to create an interactive and animated
Doremon character. Throughout this report, we will delve into the intricate process of
designing, coding, and animating our very own Doremon.
2. Simplicity: Keep the program simple and accessible for users of all skill levels.
3. Education: Serve as a learning exercise for basic programming and graphic designing.
4. Turbo C Compatibility: Ensure the program runs smoothly within the Turbo C
environment.
5. Limited Scope: Acknowledge the limitations of the program, such as the lack of advanced
features.
6. Usability: Offer a practical tool for individuals interested in animation and graphics.
2 -
1. Google Chrome 1 1. It is used for searching
the information of the
project
-
2. Microsoft office 2023 1 2. It is used to create the
project, report and
proposal.
5.0 Algorithm
3. Define functions.
i. Define a function nose:
Set the drawing color to red.
Draw a series of concentric circles to create a nose.
Define a function beltball:
ii. Set the drawing color to yellow.
Draw a series of concentric circles to create a belt ball.
iii. Define a function belt:
Set the drawing color to red.
Draw rectangles to create a belt.
iv. Define a function eye:
Set the drawing color to white.
Draw ellipses and circles to create the character's eyes.
6.0 Flowchart
START
DEFINE FUNCTIONS
END
#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<graphics.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#include<dos.h>
int a=300, b=100;
void nose()
{
setcolor(RED);
circle(115+a,b+30,10);
circle(115+a,b+30,9);
circle(115+a,b+30,8);
circle(115+a,b+30,7);
circle(115+a,b+30,6);
circle(115+a,b+30,5);
circle(115+a,b+30,4);
circle(115+a,b+30,3);
circle(115+a,b+30,2);
circle(115+a,b+30,1);
circle(115+a,b+30,0);
}
void beltball()
{
setcolor(YELLOW);
circle(115+a,117+b,7); // ballbelt
circle(115+a,117+b,6); // ballbelt
circle(115+a,117+b,5); // ballbelt
circle(115+a,117+b,4); // ballbelt
circle(115+a,117+b,3); // ballbelt
circle(115+a,117+b,2);// ballbelt
circle(115+a,117+b,1);// ballbelt
}
void belt()
{
setcolor(RED);
rectangle(160+a,110+b,65+a,115+b); //belt
rectangle(160+a,111+b,65+a,115+b); //belt
rectangle(160+a,112+b,65+a,115+b); //belt
rectangle(160+a,113+b,65+a,115+b); //belt
rectangle(160+a,114+b,65+a,115+b); //belt
}
void eye()
{
setcolor(WHITE);
ellipse(100+a,b,0,360,15,25); // eyes right
ellipse(100+a,b,0,360,14,24); // eyes right
ellipse(100+a,b,0,360,13,23); // eyes right
ellipse(100+a,b,0,360,12,22); // eyes right
ellipse(100+a,b,0,360,11,21); // eyes right
ellipse(100+a,b,0,360,10,20); // eyes right
ellipse(100+a,b,0,360,9,19); // eyes right
ellipse(100+a,b,0,360,8,18); // eyes right
ellipse(100+a,b,0,360,7,17); // eyes right
ellipse(100+a,b,0,360,6,16); // eyes right
{
setcolor(RED);
ellipse(105+a,b+85,30,180,10,10); // inside mouth left
ellipse(105+a,b+86,30,180,10,10); // inside mouth left
ellipse(105+a,b+87,30,180,10,10); // inside mouth left
ellipse(105+a,b+88,30,180,10,10); // inside mouth left
ellipse(105+a,b+89,30,180,10,10); // inside mouth left
ellipse(105+a,b+90,30,180,10,10); // inside mouth left
ellipse(105+a,b+91,30,180,10,10); // inside mouth left
ellipse(105+a,b+92,30,180,10,10); // inside mouth left
ellipse(105+a,b+93,30,180,10,10); // inside mouth left
ellipse(105+a,b+94,30,180,10,10); // inside mouth left
ellipse(105+a,b+95,30,180,10,10); // inside mouth left
ellipse(105+a,b+96,30,180,10,10); // inside mouth left
ellipse(105+a,b+97,30,180,10,10); // inside mouth left
setcolor(BLACK);
circle(92+a,b+92,5);
circle(92+a,b+92,4);
circle(92+a,b+92,3);
circle(92+a,b+92,2);
circle(92+a,b+92,1);
circle(92+a,b+93,5);
circle(93+a,b+91,5);
setcolor(RED);
ellipse(129+a,b+84,30,160,16,10); // inside mouth right
ellipse(129+a,b+85,30,160,16,10); // inside mouth right
ellipse(129+a,b+86,30,160,16,10); // inside mouth right
ellipse(129+a,b+87,30,160,16,10); // inside mouth right
ellipse(129+a,b+88,30,160,16,10); // inside mouth right
ellipse(129+a,b+89,30,160,16,10); // inside mouth right
circle(139+a,b+97,6);
circle(139+a,b+97,5);
circle(139+a,b+97,4);
}
void must()
{
setcolor(RED);
ellipse(147+a,b+52,280,90,22,15); // right cheek
ellipse(80+a,b+53,80,270,22,13); // left cheek
}
void cheek()
{
setcolor(BLUE);
ellipse(85+a,b+55,90,240,42,62); // left big cheek
ellipse(144+a,b+52,290,90,42,62); // right big cheek'
}
void bigcheek()
{
setcolor(BLUE);
ellipse(105+a,b+35,90,240,80,85); // left final cheek
}
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
eye();
belt();
beltball();
nose();
insidemouth();
must();
cheak();
bigcheak();
setcolor(WHITE);
setcolor(RED);
// settextstyle(101,0,100);
settextstyle(5,HORIZ_DIR,6);
outtextxy(50,30,"doreamon");
// setcolor(WHITE);
line(115+a,b+41,115+a,60+b); // nose long
setcolor(5);
ellipse(115+a,b+70,10,160,40,10); // upper mouth
ellipse(115+a,b+70,180,0,32,20); // lower mouth
setcolor(WHITE);
setcolor(BLUE);
ellipse(105+a,b+35,90,240,80,85); // left final cheakki
ellipse(135+a,b+32,290,90,70,82); // right final cheek
ellipse(120+a,b-50,0,180,20,1);
// setcolor(BLACK);
setcolor(WHITE);
ellipse(110+a,120+b,180,0,50,70); // big bout
line(80+a,140+b,140+a,140+b); // bout line smaall
ellipse(110+a,140+b,180,0,30,30); // small bout
setcolor(BLUE);
ellipse(50+a,170+b,130,260,10,56); // lesft hand leg
ellipse(180+a,176+b, 300,70,10,54); // rightf hanh leg
setcolor(WHITE);
line(50+a,225+b,100+a,225+b); // line leg down left
line(125+a,225+b,185+a,225+b); // line leg down right
setcolor(BLUE);
ellipse(113+a,224+b,0,180,12,18); // up to lefiiifus
setcolor(WHITE);
ellipse(50+a,236+b,80,270,20,10); //left left toe
ellipse(130+a,236+b,80,270,15,10); // left toe of right lefg
ellipse(90+a,234+b,270,80,20,10); // right left toe
ellipse(180+a,234+b,270,80,20,10); // right to right toe
line(130+a,245+b,180+a,245+b); // right toe
line(50+a,245+b,90+a,245+b); // left leg
setcolor(WHITE);
circle(a-5,168+b,15);
setfillstyle(1, WHITE); floodfill(a-5,168+b,WHITE);
circle(230+a,167+b,15);
setfillstyle(1,WHITE); floodfill(230+a,167+b,WHITE);
// left hand handfingers
//-/////////*/-/*/*/* hand*-///*--/*/---------/*-/
setcolor(BLUE); line(60+a,110+b,40+a,115+b); // lefti continu
line(40+a,115+b,20+a,128+b);
line(20+a,128+b, a,145+b);
line(a, 145+b,a-18,160+b);
line(a, 182+b,20+a,168+b);
line(20+a,168+b,40+a,160+b);
// right hand
line(160+a,110+b,180+a,112+b);
line(180+a,112+b,200+a,120+b);
line(200+a,120+b,220+a,135+b);
line(220+a,135+b,240+a,155+b);
line(220+a,179+b,200+a,165+b);
line(200+a,165+b,190+a,160+b);
getch();
}
9.0 Advantages:
- Provides a basic interface to view image.
- User-friendly approach.
- Games and Entertainment
- Art and Creativity
10.0 Limitations:
- Limited to console interface.
- Lacks advanced features such as editing.
- Uses outdated Turbo C environment.
11.0 Conclusion:
In the end, animating a character like Doraemon using C programming is not only a technical
achievement but also an opportunity for artistic expression and storytelling. It showcases the
versatility of C as a programming language and its ability to handle graphics and animations,
making it possible to bring beloved characters to life in a digital world. This endeavour not
only demonstrates the potential of programming but also highlights the enduring charm of
characters like Doraemon in the realm of technology and creativity.
12.0 References:
Turbo C Documentation and Resources
https://chat.openai.com/
https://bard.google.com/?utm_source=sem&utm_medium=paid-
media&utm_campaign=q3enIN_sem6
Guided by Mrs. S. M. Kuwarkar
Project Diary
BY
Students
Sr.no Date Work done Hours Guide sign
sign
1. 10-7-23 At first, we made the 15 min
group of 5 members.