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