Как использовать функции graphics.h для реализации прыгающего мяча с помощью c? - PullRequest
0 голосов
/ 16 октября 2011

Я пытаюсь создать простой код прыгающего мяча, мой приведенный ниже код не отскакивает от мяча, он просто заставляет его двигаться, когда используется кнопка ввода, что я могу сделать, чтобы мяч сам отскочил, когда программа запущена?

#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();

}

1 Ответ

0 голосов
/ 06 декабря 2012

Я рекомендую вам сделать несколько изменений в ближайшее время.

  • Не используйте getch() в цикле while.
  • Попробуйте увеличить и уменьшить значения параметров delay() функция.
  • Попробуйте ellipse вместо circle.
...