outtextxy(40,80,"23");
}else if(x==24){
outtextxy(40,80,"23");
outtextxy(40,80,"24");
}else if(x==25){
outtextxy(40,80,"24");
outtextxy(40,80,"25");
y=1; v=1;
}
}
void bus2(void)
{
setcolor(BLUE);
rectangle(180+c*100,350,220+c*100,390);
rectangle(170+c*100,340,230+c*100,350);
rectangle(190+c*100,320,210+c*100,340);
rectangle(170+c*100,390,230+c*100,400);
setcolor(5);
line(190+c*100,350,190+c*100,390);
line(200+c*100,350,200+c*100,390);
line(210+c*100,350,210+c*100,390);
line(200+c*100,300,200+c*100,320);
line(185+c*100,300,215+c*100,300);
if((b==0x4b00)&&(c>0))
c--;
else if((b==0x4d00)&&(c<2))
c++;
else if((b==0x5000)&&(c<2))
sleep(1);
setcolor(BLUE);
rectangle(180+c*100,350,220+c*100,390);
rectangle(170+c*100,340,230+c*100,350);
rectangle(190+c*100,320,210+c*100,340);
rectangle(170+c*100,390,230+c*100,400);
setcolor(5);
line(190+c*100,350,190+c*100,390);
line(200+c*100,350,200+c*100,390);
line(210+c*100,350,210+c*100,390);
line(200+c*100,300,200+c*100,320);
line(185+c*100,300,215+c*100,300);
setcolor(BLUE);
}
void light(void)
{
rectangle(535,65,565,155);
floodfill(545,100,BLUE);
setfillstyle(1,RED);
fillellipse(550,80,10,10);
sound(650);
delay(300);
nosound();
delay(100);
setfillstyle(1,YELLOW);
fillellipse(550,110,10,10);
sound(650);
delay(300);
nosound();
delay(100);
setfillstyle(1,GREEN);
fillellipse(550,140,10,10);
sound(650);
delay(300);
nosound();
delay(100);
setcolor(10);
setlinestyle(SOLID_LINE,0,3);
rectangle(150,400,450,460);
outtextxy(160,410,"Ready,Begin!");
}
void brock(void)
{
if((c==i)&&(j>4)&&(j<38))
e=1;
}
void tree(void)
{
int w;
int poly[14];
setcolor(10);
for (w=-3;w<3;w=w+2)
{
line(85,-25+u*15+w*157,85,35+u*15+w*157);
line(95,-25+u*15+w*157,95,35+u*15+w*157);
line(105,-25+u*15+w*157,105,35+u*15+w*157);
line(115,-25+u*15+w*157,115,35+u*15+w*157);
line(75,-9+u*15+w*157,75,19+u*15+w*157);
line(125,-9+u*15+w*157,125,19+u*15+w*157);
}
for (w=-2;w<3;w=w+2)
{
poly[0] = 530;
poly[1] = u*15+w*157;
poly[2] =515;
poly[3] = 25+u*15+w*157;
poly[4] =485;
poly[5] =25+u*15+w*157 ;
poly[6] =470;
poly[7] =u*15+w*157 ;
poly[8] =485;
poly[9] =-25+u*15+w*157;
poly[10] =515;
poly[11] =-25+u*15+w*157 ;
poly[12] = poly[0];
poly[13] = poly[1];
drawpoly(7,poly);
}
}
void bus1(void)
{
randomize();
i=random(3);
setlinestyle(SOLID_LINE,0,3);
do
{
do
{
if((x!=7)&&(x!=16)&&(x!=23))
setcolor(x);
else
setcolor(2);
rectangle(170+i*100,j*10,230+i*100,60+j*10);
rectangle(160+i*100,70+j*10,240+i*100,260+j*10);
line(180+i*100,70+j*10,180+i*100,260+j*10);
line(200+i*100,70+j*10,200+i*100,260+j*10);
line(220+i*100,70+j*10,220+i*100,260+j*10);
tree();
sound(j*10);
delay(10);
nosound();
if((x!=7)&&(x!=16)&&(x!=23))
setcolor(x);
else
setcolor(2);
rectangle(170+i*100,j*10,230+i*100,60+j*10);
rectangle(160+i*100,70+j*10,240+i*100,260+j*10);
line(180+i*100,70+j*10,180+i*100,260+j*10);
line(200+i*100,70+j*10,200+i*100,260+j*10);
line(220+i*100,70+j*10,220+i*100,260+j*10);
tree();
u++;
j++;
brock();
if(e==1)
{
j=48;
y=1;
u=63;
v=0;
}
}while((bioskey(1)==0)&&(j<=47)&&(u<=62));
if((j<=47)&&(u<=62))
/* function 0 returns the key that is waiting */
{
b= bioskey(0);
bus2();
}
else if(u<=62)
{
j=-21;
randomize();
i=rand()%3;
x++;
math();
setcolor(x);
}
else
u=0;
}while(y!=1);
}
void end()
{
if (v==1)
{
for(j=0;j<94;j++)
{
rectangle(150,j*5,450,60+j*5);
settextstyle(1,HORIZ_DIR,4);
outtextxy(160,10+j*5,"STOP! You win!");
sound(500+j*10);
delay(2);
nosound();
setlinestyle(SOLID_LINE,0,3);
rectangle(150,j*5,450,60+j*5);
outtextxy(160,10+j*5,"STOP! You win!");
}
closegraph();
printf("\n\nyou win!");
}
else if(v==0 )
{
closegraph();
printf("\n\nYou lose.");
}
printf("\n\n\nCome back again.\n\n Made by YOU LIAO working house. pubingk@citiz.net");
getch();
getch();
}
void car()
{
setcolor(BLUE);
setlinestyle(SOLID_LINE,0,3);
rectangle(280,350,320,390);
rectangle(270,340,330,350);
rectangle(290,320,310,340);
rectangle(270,390,330,400);
setcolor(5);
line(290,350,290,390);
line(300,300,300,320);
line(300,350,300,390);
line(310,350,310,390);
line(285,300,315,300);
setcolor(BLUE);
}
void main(void)
{
int gdriver = DETECT , gmode;
initgraph(&gdriver, &gmode, "");
begin();
setbkcolor(7);
setcolor(WHITE);
setwritemode(XOR_PUT);
road();
car();
light();
bus1();
end();
}