Столкнулся с проблемой, которая очень просто решается на любом другом языке. Нужно написать код, использующий координаты двух точек A(x1; y1) и B(x2; y2). Например, на бейсико подобном языке все выглядит логично и просто:
Код:
x1 = Random(500)
y1 = Random(500)
x2 = Random(500)
y2 = Random(500)
DeltaX = x2 - x1
DeltaY = y2 - y1
x =0
y = 0
STEP = 10
Select
Case (DeltaX = 0) And (DeltaY = 0)
x := x1;
y := y1;
Case DeltaX = 0
x = x1
y = y1 + STEP
Case DeltaY = 0
y = y1
x = x1 + STEP
Case else
//Здесь размещается основной код
EndSelect
Неужели, для того, чтобы сделать то же самое на Паскале необходимо написать такого монстра:
Код:
begin
Randomize;
x1 := Random(500);
y1 := Random(500);
x2 := Random(500);
y2 := Random(500);
DeltaX := x2 - x1;
DeltaY := y2 - y1;
x :=0;
y := 0;
If (DeltaX = 0) And (DeltaY = 0) then //3
begin
x := x1;
y := y1;
end
else
begin
If DeltaX = 0 then //2
begin
x := x1;
y := y1 + STEP;
end
else
begin
If DeltaY = 0 Then //1
begin
y := y1;
x := x1 + STEP;
end
else
begin
//Здесь размещается основной код
end //1
end //2
end; //3
end;
end.