Re: Кто поможет-пузырь выкачу! :)
От: Satrapp Россия  
Дата: 29.03.04 14:20
Оценка: :))
Здравствуйте, Dinozavric, Вы писали:

D>Народ, нужно сделать прогу, которая имитирует стыковку двух космических кораблей. Управление только "Назад-вперед курсором", что как бы больше-меньше подача газа...


D>Две точечки, одна вот так подлетает к другой... если скорость большая. то должна выскочить ошибка -типа какстрофа... удачно- поздравление.


D>Если кто подскажет — спаибо! Кто сделает — пузырь выкачу! Спасибо! (Питер)

Управление типа "назад-вперед курсом" придется самому делать, а ракеты получай
procedure TForm1.Button1Click(Sender: TObject);
var
  myRocket1    : TRect;
  myRocket2    : TRect;
  bBaBah       : boolean;
  nSleep       : integer;
begin
  with myRocket1 do
  begin
    Left := 50;
    Top := 50;
    Right := 70;
    Bottom := 60;
  end;
  with myRocket2 do
  begin
    Left := 150;
    Top := 40;
    Right := 200;
    Bottom := 70;
  end;
  Canvas.Brush.Color := clRed;
  Canvas.Rectangle(myRocket1);
  Canvas.Brush.Color := clBlack;
  Canvas.Rectangle(myRocket2);
  bBaBah := false;
  Randomize;
  while not bBaBah do
  begin
    nSleep := Random(499) + 1;
    Label1.Caption := 'Current speed is about ' + IntToStr(Round(1000/nSleep)) + ' pixel/sec';
    Sleep(nSleep);
    Inc(myRocket1.Left);
    Inc(myRocket1.Right);
    Dec(myRocket2.Left);
    Dec(myRocket2.Right);
    Form1.Repaint;
    Canvas.Brush.Color := clRed;
    Canvas.Rectangle(myRocket1);
    Canvas.Brush.Color := clBlack;
    Canvas.Rectangle(myRocket2);
    bBaBah := (myRocket1.Right = myRocket2.Left);
    Application.ProcessMessages;
  end;
  ShowMessage('Ba-bah!!!');
end;
... << RSDN@Home 1.1.0 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.