Столкновение объектов - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Не получается запрограммировать столкновение двух объектов. Хочется решить самую простую задачу чтобы разобраться в принципе реализации столкновения. Например: справа-налево двигается эллипс, при нажатии любой клавиши, снизу вверх начинает движение линия, если линия столкнулась с эллипсом, то к примеру объекты останавливаются и окрашиваются в красный цвет. Наработки:
В интернете в том числе и на этом сайте находил подобные темы, но не получалось применить те решения для своей задачи. Буду рад любым ответам. Спасибо.

Решение задачи: «Столкновение объектов»

textual
Листинг программы
uses crt, graph;
var
  xE,yE,xL,yL, Device, Mode:integer;
  Check,ColorElipse,ColorLine:word;
begin
  clrscr;
  Device:=0;
  InitGraph(Device,Mode,'');
  Device:=GraphResult;
  if Device=grOk then
    begin
      DirectVideo:=false;
      xE:=585; yE:=50; xL:=300; yL:=300;
      ColorElipse:=white;
      ColorLine:=black;
      repeat
        SetColor(ColorElipse);
        Ellipse(xE,yE,0,360,50,20);
        Check:=GetPixel(xL,yL);
        SetColor(ColorLine);
        Line(xL,yL,xL,yL+50);
        Delay(20);
        SetColor(black);
        Ellipse(xE,yE,0,360,50,20);
        Line(xL,yL,xL,yL+50);
        if KeyPressed then
          begin
            ReadKey;
            ColorLine:=green;
          end;
        xE:=xE-1;
        if Check<>black then
          begin
            ColorElipse:=red;
            ColorLine:=red;
          end;
        if ColorLine<>black then yL:=yL-1;
      until xE<0;
      CloseGraph;
    end else writeln('Graph error:=',Device)
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы