diff --git a/ManWalkinInRain.cpp b/ManWalkinInRain.cpp new file mode 100644 index 0000000..785a2d2 --- /dev/null +++ b/ManWalkinInRain.cpp @@ -0,0 +1,62 @@ +#include +#include +#include +#include +#include + +#define ScreenWdith getmaxx() +#define ScreenHeight getmaxy() +#define GroundY ScreenHeight*0.75 + +int ldisp=0; + +void DrawManAndUmbrella(int x,int ldisp) +{ + circle(x,GroundY-90,10); + line(x,GroundY-80,x,GroundY-30); + + line(x,GroundY-70,x+10,GroundY-60); + line(x,GroundY-65,x+10,GroundY-55); + line(x+10,GroundY-60,x+20,GroundY-70); + line(x+10,GroundY-55,x+20,GroundY-70); + + line(x,GroundY-30,x+ldisp,GroundY); + line(x,GroundY-30,x-ldisp,GroundY); + + pieslice(x+20,GroundY-120,0,180,40); + line(x+20,GroundY-120,x+20,GroundY-70); + +} + +void Rain(int x) +{ + int i,rx,ry; + for(int i=0;i<400;i++) + { + rx = rand() % ScreenWdith; + ry = rand() % ScreenHeight; + + if(ry GroundY-120 && (rx < x-20 || rx > x+60))) + line(rx,ry,rx+0.5,ry+4); + } + } +} + +int main(){ + int gd=DETECT, gm; + int x=0; + initgraph(&gd, &gm,NULL); + while(!kbhit()) + { + line(0,GroundY,ScreenWdith,GroundY); + Rain(x); + ldisp = (ldisp+2)%20; + DrawManAndUmbrella(x,ldisp); + delay(25); + cleardevice(); + x=(x+2)%ScreenWdith; + } + getch(); +} \ No newline at end of file