当前位置: 代码迷 >> C语言 >> [求助]谢谢来看看!~
  详细解决方案

[求助]谢谢来看看!~

热度:289   发布时间:2006-06-30 13:45:30.0
[求助]谢谢来看看!~

小弟刚学编程 什么都不了解 望各位大哥大姐能帮忙 小弟万分感谢!~ 题目: 从屏幕上部掉下一个圆球(填充的颜色自选..桌面的背景颜色自选),圆球掉到下边桌面上,弹回到上部,反复多次,最后逐渐停止。


----------------解决方案--------------------------------------------------------

100行左右!~~

我晕,啥也看不见


----------------解决方案--------------------------------------------------------

算法上可以设置一个系数a, Hn-1=a*Hn


要再做的细致点要考虑到球的速度,刚碰到桌面上时速度最高,到最高点时速度为零,这也可以用一个系数加速度实现....


----------------解决方案--------------------------------------------------------

C 语言画图我早忘了,只能说出我认为的 算法


----------------解决方案--------------------------------------------------------
哦 谢谢拉?

----------------解决方案--------------------------------------------------------

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
int initialize(void)
{
int gdriver, gmode,errorcode;
gdriver=VGA;
gmode=VGAHI;
initgraph(&gdriver, &gmode, "d:\c源码");
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}
return 0;
}

int main(void)
{
int maxx,maxy,miny,x,y,i=30,j;
initialize();
maxx=getmaxx();
maxy=getmaxy()-19;
miny=20;
x=maxx/2;
y=miny;
setbkcolor(LIGHTBLUE);
setcolor(MAGENTA);
setfillstyle(XHATCH_FILL,MAGENTA);
circle(x, y, 20);
floodfill(x, y,MAGENTA);
while(maxy>=miny)
{
for(y=miny;y<=maxy;y+=20)
{
cleardevice();
circle(x, y, 20);
floodfill(x, y,MAGENTA);
for(j=maxy-y;j>=0;j--) delay(100);
}
miny+=i;
i--;
sound(440);
delay(500);
nosound();
for(y=maxy;y>=miny;y-=20)
{
cleardevice();
circle(x, y, 20);
floodfill(x, y,MAGENTA);
for(j=maxy-y;j>=0;j--) delay(100);
}
}
getch();
closegraph();
return 0;
}


----------------解决方案--------------------------------------------------------
  我非常感谢!~ 3Q~~~
----------------解决方案--------------------------------------------------------

不会下降哦?? 怎么会这样??


----------------解决方案--------------------------------------------------------
不会动?把这个for(j=maxy-y;j>=0;j--) delay(100);直接改成delay(y);试试~

----------------解决方案--------------------------------------------------------
  相关解决方案