0

我正在尝试做一个简单的弹跳球代码,我下面的代码不会弹跳球,它只是在使用回车按钮时让它移动,当程序运行时我该怎么做才能让球自行弹跳跑?

#include<alloc.h>
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>

void main()
{
int d=DETECT,m;
initgraph(&d,&m,"H:\\tc\\bgi");
int l=getmaxx()/2,t=0;
int x=1,y=1;
int xstep=1,ystep=1;
while(!kbhit())
{
cleardevice();
 circle(l,t,18);
  delay(5);
circle(l,t,18);

  if(l>=getmaxx()||l<=0)
  {
x*=-1;
xstep=x*(random(4)+1);
ystep=y*(random(3)+1);

  if (l<=0)
   t=0;
 else
  l=getmaxx();
   }
   if(t>=getmaxy()||t<=0)
   {
 y*=-1;
 ystep=(y*random(4)+1);
 xstep=(x*random(3)+1);
   if(t<=0)
 t=0;
   else
 t=getmaxy();
  }
l+=x+xstep;
t+=y+ystep ;
getch();

}
closegraph();

}

4

1 回答 1

0

我会建议您尽早进行一些更改。

  • 不要getch()while循环中使用。
  • 尝试增加和减少 delay()函数参数的值。
  • 尝试ellipse代替circle.
于 2012-12-06T12:45:23.837 回答