я не знаю, помогут ли мне здесь, поскольку за эту работу просто так никто из знакомых браться не захотел.
такие вот хорошие знакомые...
а если без флуда, то читать дальше
такие вот хорошие знакомые...
а если без флуда, то читать дальше
Сам алгоритм достаточно прост
И как ты тута ОГЛ прикрутишь?
2All псц( а вторник то приближается..можете, хотя бы если не всю прогу, то помочь с алгоритмом по которому:
1)собсна, движется шарик..я понимаю, это перемещение центра шара до границы (до расстояния радиуса), но как сделать перемещение в абсолютно любую сторону..ужс(
2)как он будет поворачиватся в зависимости от угла..и как это записать
может быть это делается как-то проще, а я всё усложняю?*искренне надеется
Собственно на Си:
void TimerFunction(int value)
{
// Reverse direction when you reach left or right edge
if(x > windowWidth-rsize || x < -windowWidth)
xstep = -xstep;
// Reverse direction when you reach top or bottom edge
if(y > windowHeight || y < -windowHeight + rsize)
ystep = -ystep;
// Actually move the square
x += xstep;
y += ystep;
// Check bounds. This is in case the window is made
// smaller while the rectangle is bouncing and the
// rectangle suddenly finds itself outside the new
// clipping volume
if(x > (windowWidth-rsize + xstep))
x = windowWidth-rsize-1;
else if(x < -(windowWidth + xstep))
x = -windowWidth -1;
if(y > (windowHeight + ystep))
y = windowHeight-1;
else if(y < -(windowHeight - rsize + ystep))
y = -windowHeight + rsize - 1;
// Redraw the scene with new coordinates
glutPostRedisplay();
glutTimerFunc(33,TimerFunction, 1);
}
Но эт правда из книжки и там с библиотекой глют..
Боглен да? буду очень благодарна) просто ОЧЕНЬ)
Стучитесь ко мне в асю, думаю быстро справимся. Я вас проконсультирую как и что написать
Выставлял в свойствах проджекта нужную совместимость. Расковыривал даже сборку, все зависимости на 2.0 выставлены. Но се равно не идет.
Ната попробовать просто Проф, а не Тим поставить.
Итак для начала ссылки в студию:
1) БСЭМ. Физическая сущность сos,sin link: slovari.yandex.ru/dict/bse/article/00080/45100....
2) Дистрибутив Паскаля: pascal.sources.ru/museum/index.htm
И так сам листинг, в нем есть маленькое задание на дом, доработать формулы отскока, иногда шарик при осткоке ведет себя довольно забавно (глючат формулы).
{ Example for InitGraph }
uses
Graph,Crt;
var
grDriver : Integer;
grMode : Integer;
ErrCode : Integer;
X,Y : Integer;
Ang : Real;
begin
Randomize;Randomize;
grDriver := Detect;
InitGraph(grDriver,grMode,'c:\tp\bgi\');
ErrCode := GraphResult;
if ErrCode = grOk then
begin
X:=300;Y:=100;Ang:=0;
repeat
SetColor(White);
Circle(X,Y,2);
Delay(10000);
SetColor(Black);
Circle(X,Y,2);
X:=X+Trunc(cos(Ang)*5);
Y:=Y+Trunc(sin(Ang)*5);
if x>GetMaxX then
begin
ang:=-random(399)/100;
end;
if x<1 then
begin
ang:=-random(399)/100;
end;
if y>GetMaxY then
begin
ang:=pi/2-random(314)/100;
end;
if y<1 then
begin
ang:=pi/2-random(314)/100;
end;
until KeyPressed;
CloseGraph;
end
else
WriteLn('Graphics error:',
GraphErrorMsg(ErrCode));
end.
не до заходов в нет было просто в последнее время..
Боглен, спасип кстати за помощь)
LordDio, и вам спасибо, вышло кстати нечто вроде ))