я не знаю, помогут ли мне здесь, поскольку за эту работу просто так никто из знакомых браться не захотел.
такие вот хорошие знакомые...
а если без флуда, то читать дальше






Комментарии
17.12.2007 в 20:15

Партизанский дуэт
Браться не хотели по простой причине, никто не помнит турбопаскаль и ни у кого уже компилятора не осталось.
Сам алгоритм достаточно прост
17.12.2007 в 20:19

Боглен, все его помнят, знакомые - 1й курс..большинство разбираются не лучше меня)
17.12.2007 в 20:51

Партизанский дуэт
Обязательно турбопаскаль? А в дэльфи замутить не катит? :))) У меня на первом курсе прокатило))
17.12.2007 в 21:00

Боглен ,я бы может и не против, но обязательно тп, дэлфи мы ещё не учили)
20.12.2007 в 22:52

Дык этож ваще простота... Вот только вопрос - Надо с ОпенГЛ или без?
21.12.2007 в 06:31

Партизанский дуэт
0_о в паскаль обыкновенный?
И как ты тута ОГЛ прикрутишь?
21.12.2007 в 10:55

+=Joshua=+, да всё равно как его делать) лишь бы в паскале..

2All псц( а вторник то приближается..можете, хотя бы если не всю прогу, то помочь с алгоритмом по которому:
1)собсна, движется шарик..я понимаю, это перемещение центра шара до границы (до расстояния радиуса), но как сделать перемещение в абсолютно любую сторону..ужс(
2)как он будет поворачиватся в зависимости от угла..и как это записать

может быть это делается как-то проще, а я всё усложняю?*искренне надеется :)*
21.12.2007 в 11:15

Партизанский дуэт
Латна, я сегодня вечером посижу напишу ее. Ната только найти где-нить компилятор паскалевский

21.12.2007 в 16:14

Вот тебе "алгоритм"
Собственно на Си:

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);
}

Но эт правда из книжки и там с библиотекой глют..
21.12.2007 в 17:09

+=Joshua=+, спасибо, конечно, но си я понимаю довольно смутно, это совсем мягко выражаясь) я же только 1й курс пока..

Боглен да? буду очень благодарна) просто ОЧЕНЬ)
21.12.2007 в 17:57

Партизанский дуэт
.acidity к сожалению я сафсем забыл что у меня виста, тут даже VS2005 уже не идет нормально без патчей.
Стучитесь ко мне в асю, думаю быстро справимся. Я вас проконсультирую как и что написать :)
21.12.2007 в 19:13

ВС 2008 рулит ))
22.12.2007 в 00:46

Партизанский дуэт
+=Joshua=+ угу, токмо она у меня почему то проекти компилит так, что они потом идут тока под .NET 3.5.
Выставлял в свойствах проджекта нужную совместимость. Расковыривал даже сборку, все зависимости на 2.0 выставлены. Но се равно не идет.
Ната попробовать просто Проф, а не Тим поставить.
27.12.2007 в 16:11

Truth me, just me. (c) Kaa
Ленивцы блин.
Итак для начала ссылки в студию:
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.


28.12.2007 в 06:40

Партизанский дуэт
LordDio сделали уже все по моему))
03.01.2008 в 19:35

да, сделали прогу..совместными усилиями..)
не до заходов в нет было просто в последнее время..
Боглен, спасип кстати за помощь)
LordDio, и вам спасибо, вышло кстати нечто вроде ))