注册 登录
编程论坛 C图形专区

模拟自由落体下落,弹回程序.

qq349004853 发布于 2008-05-31 12:32, 1543 次点击
 我觉得编程并不是一件枯燥的事情,自己可以利用所学的其它科的知识编一些有趣的程序,像下面的程序就不光用到编程知识,还用到高中的自由落体知识,当我们把所学知识都学以致用时,我们才是真正的掌握了知识.
 方法1
#include<graphics.h>
#include<dos.h>
#define g 10
main()
{int x=320,y,t;
 int gdriver=DETECT,gmode;
 initgraph(&gdriver,&gmode,"");
  cleardevice();
   setcolor(4);
   do{
    for(t=0;t<10;t++)
       {y=0.5*g*t*t;
         circle(x,y,20);

         delay(40000);
         cleardevice();
        }
    for(t=0;t<10;t++)
       {y=405-(90*t-0.5*g*t*t);
         circle(x,y,20);

         delay(40000);
         cleardevice();
        }
     }while(!kbhit());
     closegraph();
  }
方法2
#include<graphics.h>
#include<dos.h>
#define g 10
main()
 {int x=320,y,t;
   int size;
  int gdriver=DETECT,gmode;
    void *buffer;
  initgraph(&gdriver,&gmode,"");
  cleardevice();
 circle(320,10,10);
  size=imagesize(310,0,330,20);
  buffer=malloc(size);
  getimage(310,0,330,20,buffer);
  cleardevice();
  do{
       for(t=0;t<10;t++)
       {y=0.5*g*t*t;
        putimage(x,y,buffer,COPY_PUT);
        delay(40000);
        cleardevice();
        }
        for(t=0;t<10;t++)
       {y=405-(90*t-0.5*g*t*t);
        putimage(x,y,buffer,COPY_PUT);
        delay(40000);
        cleardevice();
        }
      }while(!kbhit());
    closegraph();
    }
5 回复
#2
sdhsuiyuan2008-11-11 11:27
我是新手,支持 你。继续努力
#3
zhang070312042008-11-11 14:11
貌似本科的时候学习C语言的课程设计题目~~~
#4
奔跑的鸟2008-11-17 14:57
正好在研究这个,多谢提供思路了
#5
lock692009-09-23 12:17
收下了,学习,支持!
#6
sl2311011572010-12-02 23:23
能不能帮忙把流程图画出来啊
拜托了..
1