помогите обьяснить 2 строчки
if (Block1.Top+Block1.Height)>(Car.Top) then
if (Block1.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block1.Left+Block1.Width-1))
then GameOver;
if (Block1.Top+Block1.Height)>(Car.Top) then
if (Block1.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block1.Left+Block1.Width-1))
then GameOver;
Block1.Top это значение от крайневерхнего, Block1.Height это высотота объекта Block1. Значит если значение по вертикали Block1 прибавить высоту Block1 и это больше, чем значение по вертикали объекта Car то условие еще одно ...короче сравниваются координаты и высота и если условие выполняется, то игра заканчивается.
Это часть условия пересечения двух прямоугольников - Block1 и Car, как на рисунке. Причем описанно оно криво и, подозреваю, с ошибками, но надо полностью все условие смотреть. По уму тут надо было делать функцию для проверки пересечения и давать ей параметрами Block1 и Car, тогда условие
if Intersect( Block1, Car ) then GameOver;
вообще бы читалось как (почти) английская фраза.