Столкновение объектов - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д