Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > [C++] Графика(моделирование)


Автор: _JunioR_ 10.5.2007, 20:10
Вот такая тема 
Моделирование полета стрелы в графическом режиме...
нужно что бы с одной точки (0,400) выберался угол полёта и при нажатии клавишы пробел она летит..но сколько раз не пробова она либо не летит либо прога зацыклюеться...
Вот то что есть:

#include <graphics.h>
#include <conio.h>
#include <dos.h>
#include <iostream.h>
#include <math.h>

void Figure (int x,int y,int color)
{

setfillstyle (SOLID_FILL,BLACK);
bar(0,0,639,479);
setcolor (color);
line(x,y,x+50,y);
line(x+50,y,x+20,y+10);
line(x+50,y,x+20,y-10);
line (0,400,639,400);
line (639,400,620,390);
line (639,400,620,410);
line (0,1,0,400);
line (0,0,10,15);

}
void main()
{

int d=VGA,m=VGAHI;
int x,y,dx,v0,a0,max_x,max_y,key,g=9.81,tt;

cout<<"Vedit  pocchatkovu svidkist m/s"<<endl;
cin>>v0;
cout<<"Vedit ugol viletu (gradusi)"<<endl;
cin>>a0;
cout<<"Ugol Naklona="<<a0/(180/3.14)<<endl;
cout<<"Chas polyotu="<<2*v0*sin(a0/(180/3.14))/g<<endl;
initgraph( &d,&m,"D:\\BC\\BGI");
x=0;y=240;
dx=1;
while (x+40<640)
{
Figure (x,y, WHITE);
key = getch();
if (key == 27) break;
Figure (x,y,WHITE);
switch (key){
case 75: x--;break;
case 77: x++;break;
case 72: y --;break;
case 80: y++;
}
if(kbhit())
if(getch()==27)break;
Figure(x,y,WHITE);

delay(10);
Figure(x,y,WHITE);
if (x+20 >=639) dx=-1;
if (x<=0) dx=1;
x+=dx;
}
closegraph();
}




Жду помощи!!! smile 

Автор: Klin 11.5.2007, 20:48
А причем здесь билдёр?  smile 

Автор: Anikmar 11.5.2007, 22:47
Зачем плодить темы? Вам от этого быстрее не ответят.
Пользуйтесь тегами - код тяжело читать.
Эта тема ближе к разделу помощи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)