Car Movement

#include<stdio.h> 
#include<conio.h> 
#include<graphics.h> 
#include<dos.h> 

int scan,ascii; 

void getkey() 
{ 
    union REGS ii,oo; 
    ii.h.ah=0; 
    int86(22,&ii,&oo); 
    scan=oo.h.ah; 
    ascii=oo.h.al; 
} 

void car(int x,int c) 
{ 
    setcolor(c); 
    line(x+150,100,x+242,100); 
    ellipse(x+242,105,0,90,10,5); 
    line(x+150,100,x+120,150); 
    line(x+252,105,x+280,150); 
    line(x+100,150,x+320,150); 
    line(x+100,150,x+100,200); 
    line(x+320,150,x+320,200); 
    line(x+100,200,x+110,200); 
    line(x+320,200,x+310,200); 
    arc(x+130,200,0,180,20); 
    arc(x+290,200,0,180,20); 
    line(x+270,200,x+150,200); 
    circle(x+130,200,17); 
    circle(x+290,200,17); 

} 

void main() 
{ 
    int gd=DETECT,gm=DETECT,i=0,c=1,prev=80; 
    initgraph(&gd,&gm,""); 

    cleardevice(); 

    car(0,15); 

    while(!kbhit()); 

    while(1) 
    { 
        getkey(); 
        if(scan==72) 
        { c++; scan=prev; } 

        if(scan==80) 
        { if(c!=1)c--; scan=prev; } 

        if(ascii==13) 
            break; 
        if(scan == 77) 
        { 
            prev=77; 
            while(!kbhit()) 
            { 
                car(i,0); 
                i+=c; 
                car(i,15); 
                delay(20); 
            } 
        } 
        if(scan == 75) 
        { 
            prev=75; 
            while(!kbhit()) 
            { 
                car(i,0); 
                i-=c; 
                car(i,15); 
                delay(20); 
            } 


        } 
        if(ascii == 32 ) 
        { 
            prev=80; 
            car(i,15); 
            while(!kbhit()); 
        } 
    } 

    getch(); 
}

Comments

Popular posts from this blog

Fish Movement

Pendulum

Moving Wheel