Броуновсоке движение

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

#1
Помогите пожалуйста разобраться с программой. Нужны 100 точек бегающих по экрану. У меня всего бегает только одна точка.
Вот код:
[codebox]#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
void main()
{
clrscr();
int gdriver=DETECT, gmode, errorcode;
initgraph(& gdriver, & gmode,"...");
errorcode=graphresult();
if (errorcode!= grOk)
{
printf("Graphicserror:%s\n", grapherrormsg(errorcode));
printf("Press any key to break:");
getch();
exit(1);
}
int x=50, y, dx=1, dy=1, x1, x2, y1, y2;
x1=getmaxx()/2-300;
y1=getmaxy()/2-239;
x2=getmaxx()/2+300;
y2=getmaxy()/2+239;
x=getmaxx()/2;
y=getmaxy()/2;
randomize;
do
{
for(;:)
{
if(kbhit())
{
switch (getch())
{
case 119:
if(getch()==115)
exit(0);
break;
case 115:
if(getch()==119)
exit(0);
break;
}
}
if(dx>0)
{
if(x+dx>=x2)
dx=dx*(-1);
}
else
if(x+dx<=x1)
dx=dx*(-1);
if(dy>0)
{
if(y+dy>=y2)
dy=dy*(-1);
}
else
if(y+dy<=y1)
dy=dy*(-1);
setcolor(BLACK);
rectangle(x1, y1, x2, y2);
x+=dx;
y+=dy;
putpixel(x, y, WHITE);
delay(5);
putpixel(x, y, BLACK);
delay(5);
}
}
while(!kbhit());
closegraph();

}[/codebox]
 
Статус
Закрыто для дальнейших ответов.