BELAGAVI
2017-2018
DEPARTMENT OF
COMPUTER SCIENCE AND ENGINEERING
MINI-PROJECT REPORT ON
“MICKEY MOUSE”
Submitted in partial fulfilment of the requirements for the
Award of the degree of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE & ENGINEERING
Submitted By
NINGAYYA JADIMATH
2SA14CS011
1|Page
VISVESVARAYA TECHNOLOGICAL UNIVERSITY
BELAGAVI
SECAB ASSOCIATION’S
CERTIFICATE
This is to certify that the mini-project entitled “Ningayya Jadimath” is a bonafide
work carried out by ”Mickey Mouse (2SA14CS011)” in partial fulfilment for the award of
Bachelor of Engineering in 6th semester of the Visvesvaraya Technological University, Belgaum
during the year 2017-2018. It is certified that all suggestion/correction indicated for mini-project
have been incorporated in the report and has been approved as it satisfies the academic
requirements in respect of mini-project prescribed for Bachelor of Engineering Degree.
Acknowledgement
2|Page
My deep gratitude, fullness which I have for my guide
Mr. Aslam. J. Karjagi , under whose guidance, advice,
help, inspiration and encouragement it is easy for me
to make this project and also for his contribution in
coordination and cooperating us during the course of
development. He enriched us with knowledge whenever
we reached him.
I am also thankful to my colleagues with whom I have
fruitful discussions which have helped us a lot in giving
a final shape to the program.
3|Page
CONTENTS
Sr. No. TOPICS Page No.
1 Project Name and Description 5
4 Problem Analysis 8
Problem Definition
Feasibilty Analysis
Project Plan
5 Software Requirement Analysis 9
Introduction
General Description
Specific Requirements
6 Design 10-13
System Design
Detailed Design
Pseudo code
7 Testing 13-14
Functional Testing
Structural testing
8 Implementation
9 Project Legacy 14
Current status of project
Remaining area of concern
10 User Manual 14
4|Page
1. Project Name and Description:
Project Description:-
The project includes different modules that are needed to generate different pictures
into a single animated picture (include motion of pictures) in same program in a same
time. In this project we can display a picture of Mickey Mouse with the help of
motion as it looks like animated. The project Mickey mouse program will be made by
the use of arcs, lines, circle, ellipse etc. We can add some colour to Mickey mouse so
that it will be seen attractive. This project includes animated Mickey mouse that
includes smiley face using arcs, lines, circles, ellipse etc. This application is easy to
use and display an animated Mickey mouse. It can use in animation or animated
movies. It will be the full source of entertainment.
#include<conio.h>: It is a C header file used in old MS-DOS compilers to create text user
interfaces.
In this project, We used different predefined functions to create Mickey Mouse Program.
Some of the in built functions which we have mostly used to create Mickey Mouse
Program are:
1. line() : This function helped us in making doors, mirrors, bumper, light, rear etc of the
car.
2. Ellipse() : Ellipse function is used in our project for making the roof and tyers of the
car.
3. floodfill() : This function helped us in our project to fill a specific part to make it
more attractive.
4. setfillstyle() : This function helped us making different patterns on the car such as
dotted lines etc.
5. outtextxy(): It is used in our project to place text on the output screen.
5|Page
2. Profile of the problem:-
It is time consuming.
It is very tedious.
3. Existing System:-
a) Exiting software:- Not any specific system for this at this time.
6|Page
Start
Header Files
Datatypes
Shapes Declarations
ellipse,line
Assigning
variables
Styles
Designing
Colors,Patter
ns Coding Animations
Compile Errors
Yes
Correct Errors
Errors
Chec
k
Error
s No Errors
Execute
Display Output
END
7|Page
4. Problem Analysis:-
In this projects we face two problem’s
Void left () function----this function help to club the pixels
from one place to another.
Set fill / flood fill---These function help to change the view
of the project like pattern of colour, its colour /design.
a) Product definition:- The project includes different modules that are
needed to generate different pictures into a single animated picture (include
motion of pictures) in same program in a same time. In this project we can
display a picture of Mickey Mouse with the help of motion as it looks like
animated. The project Mickey mouse program will be made by the use of arcs,
lines, circle, ellipse etc. We can add some colour to Mickey mouse so that it
will be seen attractive. This project includes animated Mickey mouse that
includes smiley face using arcs, lines, circles, ellipse etc. This application is
easy to use and display an animated Mickey mouse. It can use in animation or
animated movies. It will be the full source of entertainment.
b) Feasibility Analysis----
Technical feasibility:
I can develop this kind of system in Turbo c++ which is flexible.
Easy to make changes in turbo c++
Operational feasibility:
This system is totally feasible respect to operations and functionality
Calculation can be done by simple mathematics.
Cost feasibility:
No additional hardware is required to develop the program
We need Turbo c++ and DosBox.
c) Project Plan:-
Arc’s
Lines
Ellipse
flood fill
set-fill
Then we start to making the project.
8|Page
5. Software requirement Analysis:
a. Introduction:- C is an imperative (procedural) systems implementation
language. It was designed to be compiled using a relatively straightforward
compiler, to provide low-level access to memory, to provide language
constructs that map efficiently to machine instructions, and to require
minimal run-time support. C was therefore useful for many applications
that had formerly been coded in assembly language.
b. General Description:-Despite its low-level capabilities, the language
was designed to encourage cross-platform programming. A standards-
compliant and portably written C program can be compiled for a very wide
variety of computer platforms and operating systems with few changes to
its source code. The language has become available on a very wide range
of platforms, from embedded micro controllers to supercomputers.
Operating system: Windows 9.x, Windows 2000, Windows XP,
Windows Vista, Windows 7.
9|Page
6. Design----
Second Phase:-
10 | P a g e
Final Output:-
11 | P a g e
c. Pseudo code:- An algorithm is a procedure for solving a problem in terms
of the actions to be executed and the order in which those actions are to be
executed. An algorithm is merely the sequence of steps taken to solve a
problem. The steps are normally "sequence," "selection, " "iteration," and a
case-type statement. In C, "sequence statements" are imperatives. The
"selection" is the "if then else" statement, and the iteration is satisfied by a
number of statements, such as the "while," " do," and the "for," while the case-
type statement is satisfied by the "switch" statement. Pseudo code is an
artificial and informal language that helps programmers develop algorithms.
Pseudo code is a "text-based" detail (algorithmic) design tool. The rules of
Pseudo code are reasonably straightforward. All statements showing
"dependency" are to be indented. These include while, do, for, if, switch.
Examples below will illustrate this notion.
while(!kbhit())
{
if(i==0)
{
setfillstyle(1,15);
setcolor(15);
ellipse(210,133,0,360,10,10);//left eye ball
ellipse(265,133,0,360,10,10);//right eye ball
setcolor(0);
ellipse(210,133,0,360,3,3);//left eye ball
ellipse(265,133,0,360,3,3);//right eye ball
floodfill(210,133,15);
floodfill(265,133,15);
setcolor(0);
putimage(391,209,buf,1);
12 | P a g e
firstleft();
setcolor(15);
secondleft();
putimage(409,224,buf,0);
i=1;
}
else
{
setfillstyle(1,0);
setcolor(0);
ellipse(210,133,0,360,10,10);//left eye ball
ellipse(265,133,0,360,10,10);//right eye ball
floodfill(210,133,0);
floodfill(265,133,0);
setcolor(15);
ellipse(210,133,0,360,3,3);//left eye ball
ellipse(265,133,0,360,3,3);//right eye ball
floodfill(210,133,15);
floodfill(265,133,15);
setcolor(0);
putimage(409,224,buf,1);
secondleft();
setcolor(15);
firstleft();
putimage(391,209,buf,0);
i=0;
}
delay(300);
}
7. Testing:- We test the project after completing the step by step.after complete every
step of project we check it if step run properly then we start coding for next step.it
help to making project easily..
13 | P a g e
operates correctly. The coverage measurements that fall into this category are:
statement, branch, condition and expression, and path coverage.
8. Implementation
9. Project Legacy:- We don’t copy any type of code of the project. We make the
project with the help of two books-
a. Current status of project:- The current status is the project the totally
complete. Nothing is rest.
10.User Manual:- First of all you have to install turbo c++ in your operating system.
After installation open the (c:\) drive from My computer. And then save the file in
C:\turbo\Tc folder. Open your turbo c++. Then from menu bar open the newmickey.c
file and run it.
14 | P a g e
11.Source code:-
#include <iostream>
#include <cmath>
#include <glut.h>
void init()
{
glOrtho(-10, 10, -10, 10, -10, 10);
}
void func1()
{
//glClearColor(0.76, 0.34, 1, 0);
float PI = 2*acos(0);
//first ear
for (float x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(-2+1.5*sin(x), 1.5*cos(x));
glVertex2f(-2+1.5*sin(x+0.03), 1.5*cos(x+0.03));
glEnd();
}
//second ear
for ( x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(2+1.5*sin(x), 1.5*cos(x));
glVertex2f(2+1.5*sin(x+0.001), 1.5*cos(x+0.001));
glEnd();
}
//face structure
for ( x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_POINTS);
glVertex2f(3.5*sin(x), -5+3.5*cos(x));
glEnd();
}
//nose
15 | P a g e
for ( x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(1.2*sin(x), -5.7+0.7*cos(x));
glVertex2f(1.2*sin(x+0.001), -5.7+0.7*cos(x+0.001));
glEnd();
}
//hair on nose
for (x = -1.2; x <= 1.2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(1.5*sin(x), -5.5+1*cos(x));
glVertex2f(1.5*sin(x+0.001), -5.5+1*cos(x+0.001));
glEnd();
}
//first eye
for ( x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(-0.7+0.5*sin(x), -3.5+1*cos(x));
glVertex2f(-0.7+0.5*sin(x+0.001), -3.5+1*cos(x+0.001));
glEnd();
}
//second eye
for (x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(0.7+0.5*sin(x), -3.5+1*cos(x));
glVertex2f(0.7+0.5*sin(x+0.001), -3.5+1*cos(x+0.001));
glEnd();
}
//second eyelid
for ( x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(0.7+0.3*sin(x), -3.9+0.7*cos(x));
glVertex2f(0.7+0.3*sin(x+0.001), -3.9+0.7*cos(x+0.001));
glEnd();
}
//first eyelid
for ( x = 0; x <= PI*2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(-0.7+0.3*sin(x), -3.9+0.7*cos(x));
glVertex2f(-0.7+0.3*sin(x+0.001), -3.9+0.7*cos(x+0.001));
glEnd();
}
//face upper
for ( x = PI/2+0.3; x <= 3*PI/2-0.3; x += 0.001) {
glBegin(GL_LINES);
16 | P a g e
glVertex2f(2.5*sin(x), -5.1+2*cos(x));
glVertex2f(2.5*sin(x+0.001), -5.1+2*cos(x+0.001));
glEnd();
}
//face lower
for ( x = PI/2; x <= 3*PI/2; x += 0.001) {
glBegin(GL_LINES);
glVertex2f(1.3*sin(x), -6.9+0.9*cos(x));
glVertex2f(1.3*sin(x+0.001), -6.9+0.9*cos(x+0.001));
glEnd();
}
glEnd();
glFlush();
}
return 0;
}
17 | P a g e
Final Output:-
18 | P a g e
19 | P a g e
CONCLUSION
12.References:-
Computer Graphics C version
LET US C
ANSI C
http://www.unf.edu/~broggio/cop3530/3530pseu.htm
http://www.whitehatandroid.com/2010/09/dosbox-run-turbo-c-
in-windows-7vista-in.html
20 | P a g e