Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2009, 20:52   #1
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
Вопрос "Модель молекулы в газе" подскажите почему не работает?

пытаюсь сделать "Модель молекулы в газе" почему то "молекула" не движется хотя я прописал timer1.Enabled:=true. Тут V-скорость,V_x-скорость смещения x,V_y-y скорость смещения, y,x-начальные точки,а-угол. Скорость и угол рандомно. Что не правильно? Объясните?

var
Form1: TForm1;
a,V,V_x,V_y:integer;
x,y:real;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
randomize;
v:=random(2)+1;
a:=random(360);
V_x:=round(v*cos(a)); // скорость смещения
v_y:=round(v*sin(a)); // по горизонтали и вертикали
shape1.Top:=10; //начальная точка
shape1.Left:=20; //начальная точка
end;
//кнопка начало
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
randomize;
v:=random(2)+1;
a:=random(360);
canvas.LineTo(0,250);
canvas.LineTo(293,250);
canvas.LineTo(293,0);
canvas.LineTo(0,0);
timer1.Enabled:=true;
button1.Enabled:=true;
button2.Enabled:=false;
x:=shape1.Left+V_x; // координата угла х
y:=shape1.Top+V_y; // координата угла у
if ((shape1.Left>=0) and (shape1.Left<=250)) then
v_x:=-V_x;
if ((shape1.Top>=0) and (shape1.Top<=293)) then
v_x:=-V_x; //ограничители
end;

//кнопка стоп
procedure TForm1.Button2Click(Sender: TObject);
begin
if button1.Enabled=true then button1.Enabled:=false
else
if button1.Enabled=false then button1.Enabled:=true;
end;

end.
Тёма(C@$pEr) вне форума Ответить с цитированием
Старый 02.02.2009, 21:34   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

У Вас по таймеру не прописано никакое движение. Вот пример движения картинки по кругу.
Код:
var
  Form1: TForm1;
  i:integer;
........................
procedure TForm1.Timer1Timer(Sender: TObject);
begin
image2.left:=240+round(140*sin(i*pi/180));
image2.Top:=170-round(140*cos(i*pi/180));
i:=i+1;
end;
puporev вне форума Ответить с цитированием
Старый 03.02.2009, 19:31   #3
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
По умолчанию не получается

(((у мя все равно не получается.Объясни как по подробнее пожалуйста или дай ссылку я чет не как найти не могу. У всех с таймером написано по разному и все в моем случае почему то не работают. А мне над разобраться а то так попадется в экзамене а я...
Тёма(C@$pEr) вне форума Ответить с цитированием
Старый 03.02.2009, 20:02   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Не знаю что Вы там делаете, но вот просто хаотическое движение.
Вложения
Тип файла: rar Движение.rar (2.9 Кб, 15 просмотров)
puporev вне форума Ответить с цитированием
Старый 03.02.2009, 20:28   #5
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
По умолчанию ))

Во)) Спасибо с этим разобрался))
Тёма(C@$pEr) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему на форуме нет рздела "1С" ? veter_s_morya О форуме и сайтах клуба 36 03.12.2008 14:13
Как работает "Удаленный модуль данных"? kiber0net0 Общие вопросы Delphi 0 08.10.2008 12:43
Word 2003 не работает "Параметры" tatav Microsoft Office Word 4 01.04.2008 15:00
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49
Работает ли при "SQL dialect 3" оператор DISTINCT? 3lander БД в Delphi 1 12.10.2007 00:21