C++ Project
C++ Project
1
Certificate
This is to certify that Miss AMISHASHARON R.S. of class
XII - A of International Indian School, Dammam has
completed her project file under my supervision. She has
taken proper care and shown utmost sincerity in completion
of this project.
Name: Name:
Date: Date:
2
ACKNOWLEDGEMENT
Primarily I would thank God for making it possible to
complete this project successfully I would like to thank my
Computer Science teacher, Mrs. Smitha Rajappan, whose
valuable guidance has been the one that helped me patch
this project. Her suggestions and instructions have served as
a major contribution in the completion of this project.
CODE
3
_ #include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <iostream.h>
#include <fstream.h>
#include <string.h>
void main(void)
void
*body,*food,*tail1,*tail2,*tail3,*tail4,*head1,*head2,*head3,*head4;
int x, y,X[5000],Y[5000],i=3,
maxx,maxy,speed=100,bo=10,t[10],score=0,hscore=20;
char a='6',b,scor[4],hs[4];
int k=2,l,r1,r2,f=0,z=100,first=0,second=1;;
r1=300;
r2=350;
4
ifstream infile("c:\tc\bin\rattle.txt");
infile.getline(hs,4);
infile.close();
hscore = atoi(hs);
errorcode = graphresult();
getch();
maxx = getmaxx();
maxy = getmaxy();
y = 160;
x = 80;
5
for(int j=0; j<=3; j++)
X[i-j]=x-bo*(j+1);
Y[i-j]=y;
6
//body
setfillstyle(1,2);
bar(10,10,20,20);
setcolor(0);
setlinestyle(0,1,3);
line(9,9,21,21);
line(9,21,21,9);
size = imagesize(10,10,20,20);
body = malloc(size);
getimage(10,10,20,20,body);
cleardevice();
setcolor(0);
//tail1-right
t[0]=20; t[1]=10;
t[2]=10; t[3]=10;
t[4]=20; t[5]=15;
t[6]=10; t[7]=20;
t[8]=20; t[9]=21;
fillpoly(5, t);
size = imagesize(10,10,20,21);
7
tail1 = malloc(size);
getimage(10,10,20,21,tail1);
cleardevice();
//tail2-left
t[0]=10; t[1]=10;
t[2]=20; t[3]=10;
t[4]=10; t[5]=15;
t[6]=20; t[7]=20;
t[8]=10; t[9]=21;
fillpoly(5, t);
size = imagesize(10,10,20,21);
tail2 = malloc(size);
getimage(10,10,20,21,tail2);
cleardevice();
//tail3-up
t[0]=10; t[1]=20;
t[2]=10; t[3]=10;
t[4]=15; t[5]=20;
t[6]=20; t[7]=10;
t[8]=20; t[9]=21;
fillpoly(5, t);
8
size = imagesize(10,10,20,21);
tail3 = malloc(size);
getimage(10,10,20,21,tail3);
cleardevice();
//tail4-down
t[0]=10; t[1]=10;
t[2]=10; t[3]=21;
t[4]=15; t[5]=10;
t[6]=20; t[7]=21;
t[8]=20; t[9]=10;
fillpoly(5, t);
size = imagesize(10,10,20,21);
tail4 = malloc(size);
getimage(10,10,20,21,tail4);
cleardevice();
//head1-right
setlinestyle(1,1,1);
setcolor(2);
fillellipse(10,10,10,5);
setcolor(4);
//eyes
9
fillellipse(15,7,1,1);
fillellipse(15,13,1,1);
size = imagesize(10,5,20,15);
head1 = malloc(size);
getimage(10,5,20,15,head1);
//head2-left
//eyes
fillellipse(5,7,1,1);
fillellipse(5,13,1,1);
size = imagesize(0,5,10,15);
head2 = malloc(size);
getimage(0,5,10,15,head2);
cleardevice();
//head3-up
//eyes
setcolor(2);
fillellipse(12,12,5,10);
setcolor(4);
fillellipse(9,6,1,1);
fillellipse(15,6,1,1);
size = imagesize(7,2,18,12);
10
head3 = malloc(size);
getimage(7,2,18,12,head3);
//head4-down
//eyes
fillellipse(9,17,1,1);
fillellipse(15,17,1,1);
size = imagesize(7,12,18,22);
head4 = malloc(size);
getimage(7,12,18,22,head4);
cleardevice();
//food
setcolor(15);
setfillstyle(1,15);
fillellipse(10,10,3,5);
size = imagesize(5,3,15,17);
food = malloc(size);
getimage(5,3,15,17,food);
cleardevice();
11
/* repeat until a key is pressed */
maxx=getmaxx();
maxy=getmaxy();
setlinestyle(0,1,3);
setcolor(9);
rectangle(0,0,maxx,maxy);
setlinestyle(0,1,2);
line(maxx-150,0,maxx-150,maxy);
setcolor(8);
setfillstyle(1,8);
bar(maxx-147,3,maxx-3,63);
setcolor(12);
int maze=1;
if(maze==1)
setfillstyle(1,6);
bar(4,4,maxx-154,14);
bar(4,4,14,maxy-4);
bar(4,maxy-4,maxx-154,maxy-14);
bar(maxx-154-10,4,maxx-154,maxy-4);
12
settextstyle(0,0,1);
delay(300);
outtextxy(maxx-125,30,"RATTLE SNAKE");
delay(300);
setcolor(11);
setlinestyle(0,1,2);
rectangle(maxx-145,65,maxx-5,205);
outtextxy(maxx-128,70,"INSTRUCTIONS");
delay(200);
setcolor(6);
outtextxy(maxx-140,90,"Commands Key");
delay(300);
setcolor(8);
delay(50);
delay(50);
delay(50);
delay(50);
setcolor(12);
setlinestyle(0,1,2);
rectangle(maxx-145,210,maxx-5,350);
setcolor(1);
outtextxy(maxx-130,220,"Player's Name");
setcolor(15);
outtextxy(maxx-100,230,"Yellow");
setcolor(4);
delay(200);
itoa(score,scor,10);
outtextxy(maxx-140,250,"Score");
outtextxy(maxx-50,250,scor);
delay(200);
setcolor(10);
outtextxy(maxx-140,280,"Level");
delay(200);
setcolor(13);
outtextxy(maxx-140,310,"Maze 1");
delay(200);
setcolor(14);
outtextxy(maxx-50,340,hs);
14
for(j=0; j<=1000; j++)
putpixel(random(maxx-150),random(maxy),6);
delay(1);
while (a!='0')
if(a=='6')
if(a=='4')
if(a=='8')
if(a=='5')
delay(speed);
if(second==1)
setcolor(15);
getch();
setcolor(0);
second=2;
if(first==1)
setcolor(15);
outtextxy(maxx-140,360,"Congratulations ");
sound(100);
delay(300);
nosound();
getch();
setcolor(0);
outtextxy(maxx-140,360,"Congratulations ");
second++;
first=2;
if(a=='6')
17
putimage(x, y, head1, XOR_PUT);
if(a=='4')
if(a=='8')
if(a=='5')
if(f==0)
putimage(r1,r2,food,XOR_PUT);
f=1;
z--;
if((x>=r1 && y>=r2 && x<=r1+10 && y<=r2+10) || (x<=r1 && y<=r2
&&
if(z!=0)
sound(800);
delay(20);
setcolor(0);
score += 10;
outtextxy(maxx-50,250,scor);
19
itoa(score,scor,10);
if(score>hscore)
strcpy(hs,scor);
setfillstyle(1,1);
bar(maxx-140,337,maxx-20,348);
setcolor(14);
outtextxy(maxx-50,340,hs);
if(first==0)
first=1;
setcolor(4);
outtextxy(maxx-50,250,scor);
k++;
nosound();
z=100;
putimage(r1,r2,food,XOR_PUT);
repr1:
r1=random(450);
20
if(r1<50)
goto repr1;
repr2:
r2=random(400);
if(r2<50)
goto repr2;
f=0;
i++;
X[i]=x;
Y[i]=y;
b=a;
if(kbhit())
rep:
a=getche();
a=b;
21
if((b=='8' && a=='5') || (b=='5' && a=='8'))
a=b;
a=b;
/* if(x>maxx-170)
x=0;
if(y>maxy)
y=0;*/
if(a=='8')
y -= bo;
if(a=='5')
y += bo;
if(a=='4')
x -= bo;
22
if(a=='6')
x += bo;
a='0';
outtextxy(maxx-140,360,"C ");
a='0';
}
23
outtextxy(maxx-140,360,"C ");
a='5';
a='5';
}
24
if(j==0)
break;
} */
/* if(x<=0)
x=maxx-170;
if(y<=0)
y=maxy;*/
if(maze==1)
a='0';
if(score>hscore)
25
ofstream onfile("c:\tc\bin\rattle.txt");
onfile<<scor;
onfile.close();
setcolor(15);
outtextxy(maxx-140,390," Gameover");
sound(100);
delay(400);
nosound();
getch();
/* clean up */
free(body);
closegraph();
26
27