0% found this document useful (0 votes)
2 views21 pages

cgr microproject1

The document is a micro project report on a 'Space Object Shooting Game' developed as part of a Computer Graphics course at S.S.M. Adsul Polytechnic College. The project aims to enhance knowledge in C programming and graphics functions, culminating in a game where users shoot objects in space, with increasing difficulty levels. The report includes acknowledgments, project aims, procedures followed, resources used, and a program code for the game.

Uploaded by

satyajit010101ss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views21 pages

cgr microproject1

The document is a micro project report on a 'Space Object Shooting Game' developed as part of a Computer Graphics course at S.S.M. Adsul Polytechnic College. The project aims to enhance knowledge in C programming and graphics functions, culminating in a game where users shoot objects in space, with increasing difficulty levels. The report includes acknowledgments, project aims, procedures followed, resources used, and a program code for the game.

Uploaded by

satyajit010101ss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

A

MICRO PROJECT REPORT ON


“ Space Object Shooting Game ”
Program & Program code : CO-3-K
Course : Computer Graphics
Course code : 31330
Submitted by
Name of student Enrollment no Program
1. Gagare Kartik Dattatary 23611980165 CO-3-K
2. Shaikh Hamaza Mubin 23611980175 CO-3-K
3. Dethe Rohan Santosh 23611980163 CO-3-K
Under the Guidance of

Prof. Padir J.D.


In partial fulfillment of requirement for the award of Diploma in Computer
Engineering

MSBTE, Mumbai.

Academic Year: 2024-25

DEPARTMENT OF COMPUTER ENGINEERING


S.S.M. ADSUL POLYTECHNIC COLLEGE, CHAS, AHILYANAGAR -414 005(M.S)

DEPARTMENT OF COMPUTER ENGINEERING


S.S.M. ADSUL POLYTECHNIC COLLEGE,
CHAS, AHIYANAGAR-414 005(M.S)
This is to certify that the micro project report entitled

“ Space Object Shooting Game ”

Submitted by

Name of student Enrollment no Program


1.Gagare Kartik Dattatary 23611980165 CO-3-K
2. Shaikh Hamaza Mubin 23611980175 CO-3-K
3.Dethe Rohan Santosh 23611980163 CO-3-K
of semester III institute, Sau. Sundarabai Manik Adsul Polytechnic, Chas, Ahilyanagar (code:
1464) has completed the micro project satisfactorily in course (22316) for the Academic year 2023-
24 as prescribed in the MSBTE curriculum.
Place: Ahilyanagar Date: / /2023.

Prof.Padir J.D. Prof. Hole P.P. Prof. Gadakh R.S.


(Micro Project Guide) (Head of Dept.) (Principal)
ACKNOWLEDGEMENT

We take this opportunity to acknowledge the constant encouragement and


continuous help given to us by our guide . Prof. Padir J.D.We convey our sincere
thanks to her valuable timely suggestion. We would also like to thanks principal Prof.
Gadakh R.S. and Head of Computer Department Prof. Hole.P.P. We would also like
to thank teaching staff of Computer Department for helping us to achieve this goal.
We are also thankful to those who directly or indirectly helped us for completing this
micro project. We would like to thank our parents without whose supports; the
completion of the micro project would not have been possible.
1.0 Brief Introduction

The space shooting game is made for fun. This game is made in C anguage with graphics. In this game user
should shoot the objects from space before they reach at the bottom. When user complete the target
within the given shoots level get increased. User’s rocket speed and the object’s speed increases when the
level of game increases.

2.0 Aim of the Micro-Project

This Micro - Project aims at

1. To aquire knowledge about Computer Graphics.

2. To use graphics functions to draw shapes, objects ,etc by inbuilt functions in CGR.

3. To develop C program to perform read and write operation to the given file

4. To use various graphics functions in Computer Graphics .

Week Details of Planned Planned Name of


Activity Start Finish Responsible
date Date Team
Members
Kartik Gagare
Decide
Week subject for
1 micro
project.
Rohan Dethe

Week
2 Preparation
and
submission
of Abstract
Week 3 Shaikh Hamaza
Collection
of data

Shaikh Hamaza

Week Discussion
4 and outline of
Content

Formulation Kartik Gagare


of content
Week
5
Editing of Rohan Dethe
Content
Week
6
Compilation
Shaikh
of Report Hamaza
Week and
7 Presentation

Final Kartik Gagare


submission
Week of Micro
8 Project
4.0 Resources Name of Resource/Material Specific Qty Remarks
Required Sr. ations
No.

1 Computer system Basic configuration 1

2 Software Turbo C++ 1

3 Internet Google,etc

4 Books

1.0 Brief Description

The space shooting game is made for fun. This game is made in C anguage with graphics. In this
game user should shoot the objects from space before they reach at the bottom. When user
complete the target within the given shoots level get increased. User’s rocket speed and the
object’s speed increases when the level of game increases.

2.0 Aim of the Micro-Project

This Micro - Project aims at

1. To get knowledge of C programming.

2. To use graphics functions in C program.

3. To develop C program to perform read and write operation to the given file.

4. To use various graphics in C.

4.0 Actual Procedure Followed.

1. Decide subject for micro project.

2. Preparation and submission of Abstract

3. Collection of data

4. Discussion and outline of Content


5. Formulation of content

6. Editing of Content

7. Compilation of Report and Presentation

8. Final submission of Micro Project

5.0 Actual Resources Used

Sr. No. Name of Specifications Qty Remarks


Resource/Material

1 Computer system Basic configuration 1

2 Software Turbo C++ 1

3 Internet

4 Books

6.0 Outputs of the Micro- Projects

PROGRAM:

#include<stdio.h>

#include<conio.h>

#include<graphics.h>

#include<time.h>

int ch,s=4,i;

//int sx1=50,sx2=60,sy1=0,sy2=10;

char arr[20],shot[20],starts,help,arr1[20],arr2[20]; int


x1=200,y1=350,x2=200,y2=350,i,bc1=100,bc2=150; int
y=400,x3=180,y3=390,x4=220,y4=390,k=0,bh=100,bh2=50; int
min=100,max=330,min1=101,max1=331;

int incre=2,level=50,lev=1,move=7;
void start()

{ setbkcolor(BLACK);

setcolor(BROWN); bh=100;

bh2=50; incre=2;

level=50; lev=1;

move=7; k=0;

s=4;

settextstyle(0,0,5); //10

outtextxy(100,140,"ROCKET SHOT");

settextstyle(3,0,2);

outtextxy(200,190,"Press s to start");

outtextxy(200,240,"Press h to help");

outtextxy(200,290,"Press e to exit");

void ghelp() { cleardevice();

setcolor(MAGENTA);

settextstyle(3,0,2);

outtextxy(0,120,"1.Press <- (left arrow key) for moving to the left side.");
outtextxy(0,145,"2.Press -> (right arrow key) for moving to the right side.");

outtextxy(0,170,"3.Press F key to fire on the space objects."); outtextxy(0,195,"4.SHOTS :)


Number of fire shot remaining.");

outtextxy(0,220,"5.LEVEL :) Difficuilty level.");

outtextxy(0,245,"6.TARGET :) Your aim. You need to get minimum target score");


outtextxy(90,270,"to completet the level"); outtextxy(0,295,"7.SCORE :) Your score. Hit the
middle of the object to get"); outtextxy(90,320," high schore."); setcolor(RED);

outtextxy(0,345,"TIP:) Your movement speed and the object's falling speed");


outtextxy(40,370,"increases when difficuilty level goes increased"); getch();

void loading()

cleardevice();
outtextxy(200,120,"LOADING");

for(i=150;i<350;i++)

putpixel(i,150,WHITE);

delay(20);

void rocket()

setcolor(6);

setfillstyle(SOLID_FILL,6);

line(x1,y1,x3,y3); //left

line(x2,y2,x4,y4); //right l

ine(x3,y3,x4,y4); //base

floodfill(x1+1,y3-1,6);

setcolor(62);

setfillstyle(SOLID_FILL, 62);

rectangle(x3,y3,x4,y4+40);

floodfill(x3+1,y3+1,62);

setcolor(RED);

setfillstyle(SOLID_FILL,RED);

line(x3+5,y4+40,x4-5,y4+40);

line(x3+5,y4+40,x3+5,y4+50);

line(x4-5,y4+40,x4-5,y4+50);

line(x3+5,y4+50,x3+10,y4+60);

line(x4-5,y4+50,x4-10,y4+60);

line(x3+10,y4+60,x3+10,y4+65);

line(x4-10,y4+60,x4-10,y4+65);
line(x3+10,y4+65,x3+20,y4+75);

line(x4-10,y4+65,x4-20,y4+75);

floodfill(x3+6,y4+41,RED);

setcolor(8);

setfillstyle(SOLID_FILL,8);

rectangle(x3-30,y3+10,x3,y3+30);

floodfill(x3-29,y3+11, 8);

setcolor(7);

setfillstyle(SOLID_FILL, 7);

rectangle(x3-25,y3+30,x3-5,y3+40);

floodfill(x3-24,y3+31, 7);

setcolor(RED);

setfillstyle(SOLID_FILL, RED);

line(x3-20,y3+40,x3-10,y3+40);

line(x3-20,y3+40,x3-2

0,y3+50); line(x3-10,y3+40,x3-10,y3+50);

line(x3-10,y3+50,x3-15,y3+55);

line(x3-20,y3+50,x3-15,y3+55);

floodfill(x3-19,y3+41,RED);

setcolor(8); setfillstyle(SOLID_FILL,8);

rectangle(x4+30,y4+10,x4,y4+30);

floodfill(x4+29,y4+11,8);

setcolor(7); setfillstyle(SOLID_FILL,7);

rectangle(x4+25,y4+30,x4+5,y4+40);

floodfill(x4+6,y4+31,7);

setcolor(RED);
setfillstyle(SOLID_FILL,RED); line(x4+20,y4+40,x4+10,y4+40);
line(x4+20,y4+40,x4+20,y4+50);

line(x4+10,y4+40,x4+10,y4+50);

line(x4+10,y4+50,x4+15,y4+55);

line(x4+20,y4+50,x4+15,y4+55);

floodfill(x4+11,y4+41,RED);

void target(int bc1,int bh) {

setcolor(3);

setfillstyle(WIDE_DOT_FILL,3);

circle(bc1,bh,20);

//200 200 floodfill(bc1+1,bh+1,3);

setcolor(WHITE);

line(bc1+20,bh,bc1+35,bh);

line(bc1-20,bh,bc1-35,bh);

line(bc1,bh+20,bc1,bh+35);

line(bc1,bh-20,bc1,bh-35);

void target2(int bc2,int bh2) {

setcolor(10); setfillstyle(HATCH_FILL,10);

circle(bc2,bh2,20);

floodfill(bc2+1,bh2+1,10);

setcolor(YELLOW);

setfillstyle(SOLID_FILL,YELLOW);

circle(bc2+25,bh2,5);

floodfill(bc2+26,bh2+1,YELLOW);

setcolor(YELLOW);

setfillstyle(SOLID_FILL,YELLOW);
circle(bc2-25,bh2,5);

floodfill(bc2-24,bh2+1,YELLOW);

setcolor(YELLOW);

setfillstyle(SOLID_FILL,YELLOW);

circle(bc2,bh2+25,5);

floodfill(bc2+1,bh2+26,YELLOW);

setcolor(YELLOW);

setfillstyle(SOLID_FILL,YELLOW);

circle(bc2,bh2-25,5);

floodfill(bc2+1,bh2-24,YELLOW);

void crst(int xx1,int xx2,int yy1,int yy2) { setcolor(WHITE);

line(xx1,yy1+5,xx2,yy1+5);//xx1=50,xx2=60,yy1=0,yy2=10 line(xx1+5,yy1,xx1+5,yy2);
line(xx1,yy1,xx2,yy2); line(xx2,yy1,xx1,yy2);

void stars()

{ int sx1=50,sx2=60,sy1=0,sy2=10;

// xmin=50, xmax=350 //ymin=0, ymax=400 crst(sx1+10,sx2+10,sy1+10,sy2+10);


crst(sx1+20,sx2+20,sy1+30,sy2+30); crst(sx1+30,sx2+30,sy1+40,sy2+40);
crst(sx1+60,sx2+60,sy1+30,sy2+30); crst(sx1+250,sx2+250,sy1+30,sy2+30);
crst(sx1+200,sx2+200,sy1+60,sy2+60); crst(sx1+230,sx2+230,sy1+200,sy2+200);
crst(sx1+100,sx2+100,sy1+80,sy2+80); crst(sx1+20,sx2+20,sy1+330,sy2+330);
crst(sx1+50,sx2+50,sy1+300,sy2+300); crst(sx1+20,sx2+20,sy1+200,sy2+200);
crst(sx1+200,sx2+200,sy1+230,sy2+230); crst(sx1+150,sx2+150,sy1+180,sy2+180);
crst(sx1+20,sx2+20,sy1+30,sy2+30); crst(sx1+100,sx2+100,sy1+120,sy2+120);
crst(sx1+50,sx2+50,sy1+300,sy2+300); crst(sx1+70,sx2+70,sy1+340,sy2+340);
crst(sx1+280,sx2+280,sy1+320,sy2+320); crst(sx1+250,sx2+250,sy1+380,sy2+380);
crst(sx1+180,sx2+180,sy1+270,sy2+270);

void main()

int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\Turboc3\\BGI"); detectgraph(&gd,&gm);
bc1=(rand()%(max-min+1))+min;

bc2=(rand()%(max1-min1+1))+min1;

do

cleardevice(); start(); starts=getch(); if(starts=='e')

exit(0);

else if(starts=='s')

loading(); settextstyle(1,0,3); while(1)

{ cleardevice(); stars(); setcolor(WHITE); /* line(50,20,50,400); line(350,20,350,400); */

line(50,0,50,400);

line(350,0,350,400);

setcolor(52); setfillstyle(SOLID_FILL,BLACK);
rectangle(50,0,350,470); rectangle(350,0,650,470);

floodfill(51,351,52);//52

sprintf(arr2,"LEVEL = %d",lev); outtextxy(450,60,arr2);


sprintf(arr,"SCORE = %d",k); outtextxy(450,100,arr);
sprintf(shot,"SHOTS = %d",s); outtextxy(450,120,shot);
sprintf(arr1,"TARGET = %d",level);

outtextxy(450,80,arr1);

rocket(); y=y1;

target(bc1,bh); target2(bc2,bh2); if(kbhit())

ch=getch(); if(ch=='e') break;

else if(ch=='f')

{ s--; if(s>=0)

for(i=0;i<100;i=i+10)
{ cleardevice();

target(bc1,bh); target2(bc2,bh2);
rocket();

line(x1,y,x2,y-20);//bullet x=200,y=390

// cleardevice(); y=y-20;

delay(100);

if(x1>bc1-30&&x1<bc1+30)

cleardevice();

if(x1>=bc1-30&&x1<=bc1-
20||x1<=bc1+30&&x1>=bc1+20)

{ k=k+5;

outtextxy(300,200,"5 points");

else if(x1>=bc1-20&&x1<=bc1-
10||x1<=bc1+20&&x1>=bc1+10)

{ k=k+10;

outtextxy(300,200,"10 points");

else if(x1>bc1-
10&&x1<bc1||x1>bc1&&x1<bc1+10||x1==bc1)

{ k=k+20;

outtextxy(300,200,"15 points");

delay(30);

goto label;

else if(x1>bc2-20&&x1<bc2+20) {
cleardevice();
if(x1>=bc2-30&&x1<=bc2-
20||x1<=bc2+30&&x1>=bc2+20)

{k=k+5;

outtextxy(300,200,"5 points");

else if(x1>=bc2-20&&x1<=bc2-
10||x1<=bc2+20&&x1>=bc2+10)

{ k=k+10;

outtextxy(300,200,"10 points");

else if(x1>bc2-
10&&x1<bc2||x1>bc2&&x1<bc2+10||x1==bc2)

{ k=k+20;

outtextxy(300,200,"15 points");

delay(100);

goto key;

} else if(s<0)

{outtextxy(200,200,"no more shots remaining");

if(k>=level)

{ cleardevice();

s=5;

incre=incre+3;
level=level+10;

k=0;

lev++;

outtextxy(300,300,"LEVEL INCREASED");

// outtextxy(280,320,"FOR CONTIUNE PRESS ANY

KEY");

//getch();
if(k>level+20)

{
move=move+2;

delay(200);

else if(k<level)

{ cleardevice();

outtextxy(300,300,arr2);

getch();
delay(200); break;

else if(ch==77) //right

if(x4>=340)

x1=x1+0; x2=x2+0;
x3=x3+0; x4=x4+0;

else

x1=x1+move;

x2=x2+move; x3=x3+move; x4=x4+move;

else if(ch==75) //left

if(x3<=50)

{
x1=x1-0; x2=x2-0;
x3=x3-0; x4=x4-0;

else

x1=x1-move; x2=x2-move;
x3=x3-move; x4=x4-move;

else if(ch=='e')

break;

delay(10);

if(bh<=400||bh2<=400)

bh=bh+incre; bh2=bh2+incre+1;

else if(bh>400||bh2>400)

if(k>=50)

cleardevice(); outtextxy(200,200,"YOU
WIN");

delay(50); break;

else if(k<50)

cleardevice(); outtextxy(200,200,"YOU LOST");

delay(50); break;

} }
else

{ label: srand(time(NULL));

bc1=(rand()%(max-min+1))+min; key:

bc2=(rand()%(max1-min1+1))+min1;

bh=100; bh2=50;

delay(100);

else if(starts=='h'||starts=='H')

ghelp();

}while(starts!='e'||starts!='E'); getch(); closegraph();

OUTPUT:
7.0 Skill Developed /learning out of this Micro-Project

1. Working with team.

2. Logic development.

3. Solving logical problems.

4. Error handling
*************************************************************

You might also like