کد:
#include<graphics.h>
#include<fstream.h>
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<dos.h>
#define b setfillstyle(1,1)
#define n setfillstyle(1,0)
#define r setfillstyle
int x=270,cha=10,sp=6;
struct hs
{
char name[30];
int ad;
};
ifstream pt;
void burn()
{
setcolor(14);
circle(x-20,451,4);
circle(x-18,451,4);
circle(x-16,451,5);
circle(x-14,451,6);
circle(x-12,451,6);
circle(x-10,451,5);
circle(x-8,451,6);
circle(x-38,451,4);
circle(x-36,451,5);
circle(x-34,451,5);
circle(x-22,451,5);
circle(x-24,451,5);//Burn
circle(x-26,451,4);
circle(x-28,451,4);
circle(x-30,451,6);
circle(x-32,451,6);
setcolor(4);
circle(x-19,450,6);
circle(x-17,450,5);
circle(x-15,450,5);
circle(x-13,450,6);
circle(x-11,450,6);
circle(x-9,450,5);
circle(x-37,450,4);
circle(x-35,450,5);
circle(x-33,450,6);
circle(x-31,450,6);//Burn
circle(x-21,450,5);
circle(x-23,450,5);
circle(x-25,450,4);
circle(x-27,450,4);
circle(x-29,450,4);
setcolor(14);
circle(x-20,461,4);
circle(x-18,461,4);
circle(x-16,461,5);
circle(x-14,461,6);
circle(x-12,461,6);
circle(x-10,461,5);
circle(x-8,461,6);
circle(x-38,461,4);
circle(x-36,461,5);
circle(x-34,461,5);
circle(x-22,461,5);
circle(x-24,461,5);
circle(x-26,461,4);
circle(x-28,461,4);
circle(x-30,461,6);
circle(x-32,461,6);
setcolor(4);
circle(x-19,460,6);
circle(x-17,460,5);
circle(x-15,460,5);
circle(x-13,460,6);
circle(x-11,460,6); //Burn
circle(x-9,460,5);
circle(x-37,460,4);
circle(x-35,460,5);
circle(x-33,460,6);
circle(x-31,460,6);
circle(x-21,460,5);
circle(x-23,460,5);
circle(x-25,460,4);
circle(x-27,460,4);
circle(x-29,460,4);
}
ofstream ptr;
void main(void)
{
clrscr();
hs rea,wri;
cout<<" Enter name = ";
cin.getline(wri.name,30);
int as=0;
int DRIVER= DETECT,MODE;
MODE=2;
DRIVER=9;
initgraph(&DRIVER, &MODE,"c:\\tc\\bgi");
pt.open("c:\\hscore.txt",ios::in);
if(pt)
pt.read((signed char *)(&rea),sizeof(hs));
if(!pt)
{
rea.name[0]=0;
rea.ad=0;
}
pt.close();
ptr.open("c:\\hscore.txt",ios::out);
{
setcolor(8);
line(300,190,200,500);
line(400,190,500,500);
line(302,190,202,500);
line(402,190,502,500);
setcolor(7); //road
line(298,190,198,500);
line(300,190,200,500);
line(402,190,502,500);
line(404,190,504,500);
setcolor(10);
line(292,190,192,500);
line(294,190,194,500);
line(408,190,508,500);
line(410,190,510,500);
line(282,190,182,500);
line(284,190,184,500);
line(286,190,186,500);
line(288,190,188,500); //green road
line(414,190,514,500);
line(416,190,516,500);
line(420,190,520,500);
line(422,190,522,500);
r(1,9);
bar(0,0,650,190);
setcolor(14);
circle(100,50,1);
circle(100,50,2);
circle(100,50,3);
circle(100,50,4);
circle(100,50,5);
circle(100,50,6);
circle(100,50,7);
circle(100,50,8);
circle(100,50,9);
circle(100,50,10); //sun
circle(100,50,11);
circle(100,50,12);
circle(100,50,13);
circle(100,50,14);
circle(100,50,15);
circle(100,50,16);
circle(100,50,17);
circle(100,50,18);
int x=270;
b;
bar(x,457,x-50,468);
r(1,4);
bar(x-30,457,x-50,465);
bar(x,457,x-20,465);
r(8,6);//Car
bar(x-40,459,x-10,463);
r(8,14);
bar(x-40,463,x-10,464);
setcolor(0);
circle(x-5,460,3);
circle(x-5,460,2); //Cylencer
circle(x-5,460,1);
r(1,8);
bar(x-2,465,x-8,472);
bar(x-48,465,x-42,472);
setcolor(2);
line(x-2,457,x-8,447); //Car tyre & roof
line(x-50,457,x-42,447);
line(x-42,447,x-8,447);
r(1,14);
pieslice(100,50,300,50,18);
pieslice(100,50,0,99,18);
pieslice(100,50,-20,624,18);
}
char a;
int o,l,m,c,p,t,q,w;
o=270;
l=200;
m=80;
c=315;
p=200;
q=205;
t=310;
w=350;
int ene=21;
float sd=0;
gotoxy(2,19);
cout<<"Name = "<<wri.name<<"\n Score = ";
setcolor(9);
settextstyle(5,0,2);
outtextxy(20,415,"Energy");
setcolor(6);
rectangle(19,461,123,449);
rectangle(20,460,122,450);
settextstyle(7,0,2);
outtextxy(440,190,"HIGHEST SCORE ");
gotoxy(58,16);
cout<<"Name = "<<rea.name;
gotoxy(58,17);
cout<<"Score = "<<rea.ad;
setcolor(14);
rectangle(520,430,620,440);
setfillstyle(1,9);
bar(521,431,559,439);
outtextxy(521,400,"Speed");
for(int i=0;sd<=4500;i++)
{
if(a=='e')
{
wri.ad=as;
if (rea.ad>wri.ad)
ptr.write((signed char *)(&rea),sizeof(hs));
else
ptr.write((signed char *)(&wri),sizeof(hs));
ptr.close();
burn();
closegraph();
exit(1);
sd=4500;
}
if (a=='a')
{
setfillstyle(1,0);
bar(521,431,619,439);
setfillstyle(1,13);
bar(521,431,539,439);
sp=5;
}
if (a=='s')
{
setfillstyle(1,0);
bar(521,431,619,439);
setfillstyle(1,9);
bar(521,431,559,439);
sp=6;
}
if (a=='d')
{
sp=7;
setfillstyle(1,0);
bar(521,431,619,439);
setfillstyle(1,11);
bar(521,431,579,439);
}
if (a=='f')
{
setfillstyle(1,0);
bar(521,431,619,439);
setfillstyle(1,10);
bar(521,431,599,439);
sp=8;
}
if (a=='g')
{
setfillstyle(1,0);
bar(521,431,619,439);
setfillstyle(1,4);
bar(521,431,619,439);
sp=9;
}
while(!kbhit())
{
delay(22);
sd++;
gotoxy(9,20);
cout<<as;
gotoxy(2,16);
setcolor(1);
setfillstyle(1,0);
rectangle(1,184,637,188);
rectangle(2,183,638,189);
bar(3,185,sd/7,187);
l=l+18; //while
m=m-1;
p=p+sp;
q=q+sp-2;
r(1,15);
bar(347,l,353,l+40);
r(1,8);
circle(t,p,8);
setcolor(0);
circle(t,p-sp,8);
if(p>455)//Khadday
if(t>x-50)
if(t<x)
{
cha--;
ene=ene+10;
setcolor(9);
setfillstyle(1,14);
rectangle(19,461,123,449);//Energy
rectangle(20,460,122,450);
bar(21,459,ene,451);
if(cha<1)
{
setcolor(4);
settextstyle(7,0,6);
outtextxy(140,100,"GAME OVER");
getch();
//***************************************************************************
wri.ad=as;
if (rea.ad>wri.ad)
ptr.write((signed char *)(&rea),sizeof(hs));
else
ptr.write((signed char *)(&wri),sizeof(hs));
ptr.close();
burn();
getch();
closegraph();
exit(1);
}
}
if(q>455&&q<470)
if(w>x-50)
if(w<x)
{
//cout<<"\a";
delay(20);
as=as+1;
}
n;
bar(347,l-18,353,l);
//Bars
b;
bar(x-50,457,x,468);
r(1,4);
bar(x,457,x-20,465);
bar(x-50,457,x-30,465);
r(8,6); //Car
bar(x-40,459,x-10,463);
r(8,14);
bar(x-40,463,x-10,464);
setcolor(0);
circle(x-5,460,3);
circle(x-5,460,2); //Cylencer
circle(x-5,460,1);
r(1,8);
bar(x-2,465,x-8,472);
bar(x-48,465,x-42,472);
setcolor(2);
line(x-2,457,x-8,447); //Car tyre & roof
line(x-50,457,x-42,447);
line(x-42,447,x-8,447);
putpixel(c,m,10);
putpixel(c+1,m,10);
putpixel(c+2,m,10);
putpixel(c+3,m+1,10);
putpixel(c+4,m+1,10);
putpixel(c+5,m+1,10);
putpixel(c+6,m,10);
putpixel(c+7,m,10);
putpixel(c+8,m,10);
putpixel(c,m+1,9);
putpixel(c+1,m+1,9);
putpixel(c+2,m+1,9);
putpixel(c+3,m+2,9);
putpixel(c+4,m+2,9);
putpixel(c+5,m+2,9);
putpixel(c+6,m+1,9);
putpixel(c+7,m+1,9);
putpixel(c+8,m+1,9);
setcolor(14);
r(1,14);
pieslice(100,50,300,50,18);
pieslice(100,50,0,99,18);
pieslice(100,50,-20,624,18);
r(1,8);
circle(t,p,8);
setcolor(0);
circle(t,p-sp,8);
setcolor(4); //Khadday
circle(w,q,8);
setcolor(0);
circle(w,q-sp+2,8);
if(l>480)
{
l=200; //Return bars
}
if(p>488)
{
p=200;
t=random(100);
t=t+310;
}
if(q>650)
{
q=205;
w=random(100);
w=w+310;
}
if(m<-1)
{
m=random(150);
c=random(350);
}
}
{
a=getch();
if(a=='K'|x>420)
{
setcolor(8);
line(300,190,200,500);
line(400,190,500,500);//Road
line(302,190,202,500);
line(402,190,502,500);
x=x-6;
o=o-6;
l=l+10;
m=m-1;
r(1,15);
bar(347,l,353,l+40);
n;//Bars
bar(347,l-18,353,l);
b;
bar(x,457,x-50,468);
r(1,4);
bar(x-30,457,x-50,465);
bar(x,457,x-20,465);
r(8,6);//Car
bar(x-40,459,x-10,463);
r(8,14);
bar(x-40,463,x-10,464);
setcolor(0);
circle(x-5,460,3);
circle(x-5,460,2); //Cylencer
circle(x-5,460,1);
putpixel(c,m,10);
putpixel(c+1,m,10);
putpixel(c+2,m,10);
putpixel(c+3,m+1,10);
putpixel(c+4,m+1,10);
putpixel(c+5,m+1,10);
putpixel(c+6,m,10);
putpixel(c+7,m,10);
putpixel(c+8,m,10);
putpixel(c,m+1,9);
putpixel(c+1,m+1,9);
putpixel(c+2,m+1,9);
putpixel(c+3,m+2,9);
putpixel(c+4,m+2,9);
putpixel(c+5,m+2,9);
putpixel(c+6,m+1,9);
putpixel(c+7,m+1,9);
putpixel(c+8,m+1,9);
r(1,8);
bar(x-2,465,x-8,472);
bar(x-48,465,x-42,472);
setcolor(2);
line(x-2,457,x-8,447); //Car tyre & roof
line(x-50,457,x-42,447);
line(x-42,447,x-8,447);
n;
bar(o+6,457,o,470);
bar(x+4,465,x-2,478);
bar(x-42,465,x-36,478);
setcolor(0); //No Car
line(x+4,457,x-2,447);
line(x-44,457,x-36,447);
line(x-8,447,x-2,447);
}
else if(a=='M'|x<320)
{
setcolor(8);
line(300,190,200,500);
line(400,190,500,500);
line(302,190,202,500);//Road
line(402,190,502,500);
x=x+6;
o=o+6;
l=l+10;
c=c+1;
r(1,15);
bar(347,l,353,l+40);
n; //Bars
bar(347,l-18,353,l);
b;
bar(x-50,457,x,468);
r(1,4);
bar(x,457,x-20,465);
bar(x-50,457,x-30,465);
r(8,6); //Car
bar(x-40,459,x-10,463);
r(8,14);
bar(x-40,463,x-10,464);
setcolor(0);
circle(x-5,460,3);
circle(x-5,460,2); //Cylencer
circle(x-5,460,1);
putpixel(c,m,10);
putpixel(c+1,m,10);
putpixel(c+2,m,10);
putpixel(c+3,m+1,10);
putpixel(c+4,m+1,10);
putpixel(c+5,m+1,10);
putpixel(c+6,m,10);
putpixel(c+7,m,10);
putpixel(c+8,m,10);
putpixel(c-1,m,9);
putpixel(c+2,m+1,9);
putpixel(c+5,m,9);
setcolor(2);
line(x-2,457,x-8,447);
line(x-50,457,x-42,447);//Car Tyres
line(x-42,447,x-8,447);
r(1,8);
bar(x-2,465,x-8,472);
bar(x-50,465,x-42,472);
n;
bar(o-56,457,o-50,478);
bar(x-8,465,x-14,478);
bar(x-50,465,x-48,478);
setcolor(0);//No car
line(x-8,457,x-14,447);
line(x-56,457,x-48,447);
line(x-42,447,x-48,447);
}
if(l>480)
{
l=200;//Return bars
}
if(m<-1)
{
m=80;
c=315;
}
}
}
wri.ad=as;
if (rea.ad>wri.ad)
ptr.write((signed char *)(&rea),sizeof(hs));
else
ptr.write((signed char *)(&wri),sizeof(hs));
ptr.close();
}
مشخصات نويسنده ي برنامه در متن برنامه آورده شده
علاقه مندی ها (Bookmarks)