From 54993f0a70f8bacc6c26eab43aca559a27c8143e Mon Sep 17 00:00:00 2001 From: TanmayMachkar Date: Thu, 7 Dec 2023 10:21:58 +0530 Subject: [PATCH] man walking in rain added --- Assignment C-7c (Man Walking in Rain).cpp | 61 +++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Assignment C-7c (Man Walking in Rain).cpp diff --git a/Assignment C-7c (Man Walking in Rain).cpp b/Assignment C-7c (Man Walking in Rain).cpp new file mode 100644 index 0000000..648251d --- /dev/null +++ b/Assignment C-7c (Man Walking in Rain).cpp @@ -0,0 +1,61 @@ +#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);//head + line(x,GroundY-80,x,GroundY-30); //neck to legs joint + //hand -> + line(x,GroundY-70,x+10,GroundY-60);//back hand half hand + line(x,GroundY-65,x+10,GroundY-55);//front hand half hand + line(x+10,GroundY-60,x+20,GroundY-70);//back hand second half + line(x+10,GroundY-55,x+20,GroundY-70);//front hand second half + //legs -> + line(x,GroundY-30,x+ldisp,GroundY); + line(x,GroundY-30,x-ldisp,GroundY); + + pieslice(x+20,GroundY-120,0,180,40);//umbrella head + line(x+20,GroundY-120,x+20,GroundY-70);//umbrella stick + +} + +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(); +}