Tuesday, October 30, 2007

Source code of Bouncing Ball in VC++

#include
static int x1=100,y1=100,x2=200,y2=200;class myframe:public CFrameWnd{public: int flag,flag1; myframe() { Create(0,"bounce"); } int OnCreate(LPCREATESTRUCT I) { CFrameWnd::OnCreate(I); SetTimer(1,20,NULL); flag=0; flag1=0; return 0; } void OnPaint() { CPaintDC d(this); //CRect r; //GetClientRect(&r); d.Ellipse(x1,y1,x2,y2); } void OnTimer() { if(y1==450) {flag=1;}
if(y1==0) {flag=0;}
if(x1>=700) { flag1=1; } if(x1==0) { flag1=0; } if((flag==1)&&(flag1==0)) { y1-=10; y2-=10; x1+=5; x2+=5; }
if((flag==1)&&(flag1==1)) { y1-=10; y2-=10; x1-=5; x2-=5; }
if((flag==0)&&(flag1==0)) { y1+=10; y2+=10; x1+=5; x2+=5; }
if((flag==0)&&(flag1==1)) { y1+=10; y2+=10; x1-=5; x2-=5; } /*if(flag1==0) { x1=x1-3; x2=x2-3; y1=y1-10; y2=y2-10; }
if(flag1==1) { x1=x1+3; x2=x2+3; y1=y1+10; y2=y2+10; }
*/
Invalidate();
} DECLARE_MESSAGE_MAP()};BEGIN_MESSAGE_MAP(myframe,CFrameWnd)ON_WM_CREATE()ON_WM_PAINT()ON_WM_TIMER()END_MESSAGE_MAP()
class myapp:public CWinApp{public: int InitInstance() { myframe *p; p=new myframe; p->ShowWindow(3); m_pMainWnd=p; return 1; }};myapp a;

No comments: