man walking in rain added
This commit is contained in:
parent
77f39370f8
commit
54993f0a70
61
Assignment C-7c (Man Walking in Rain).cpp
Normal file
61
Assignment C-7c (Man Walking in Rain).cpp
Normal file
@ -0,0 +1,61 @@
|
||||
#include<stdio.h>
|
||||
#include<conio.h>
|
||||
#include<graphics.h>
|
||||
#include<stdlib.h>
|
||||
#include<dos.h>
|
||||
#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-4)
|
||||
{
|
||||
if(ry < GroundY-120 || (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();
|
||||
}
|
Loading…
Reference in New Issue
Block a user