/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
3.0
TestSamples/CompilationSamples/gr_MovingObjects.pas
45 строк
1 KB
Бондарев Иван
initial commit
14 май 2015, 22:35
14 май 2015, 22:35
e6e67c1
Код
Авторство
О чём код?
uses ABCObjects,GraphABC; function CreateRandomABC: ObjectABC; begin case Random(3) of 0: Result:=CircleABC.Create(Random(WindowWidth-30)+10,Random(WindowHeight-30)+10,Random(10)+5,clRandom); 1: Result:=RectangleABC.Create(Random(WindowWidth-30)+10,Random(WindowHeight-30)+10,Random(20)+10,Random(20)+10,clRandom); 2: Result:=StarABC.Create(Random(WindowWidth-30)+10,Random(WindowHeight-30)+10,Random(20)+10,Random(10)+5,Random(4)+4,clRandom); end; end; procedure Move(o: ObjectABC); begin o.MoveOn(o.dx,o.dy); if (o.Left<0) or (o.Left+o.Width>WindowWidth) then o.dx:=-o.dx; if (o.Top<0) or (o.Top+o.Height>WindowHeight) then o.dy:=-o.dy; end; const n = 200; var m: ObjectABC; i: integer; begin SetWindowCaption('���������� �������'); //SetSmoothingOff; LockDrawingObjects; for i:=1 to n do begin m:=CreateRandomABC; repeat m.dx:=Random(7)-3; m.dy:=Random(7)-3; until (m.dx<>0) and (m.dy<>0); end; while True do begin for i:=0 to Objects.Count-1 do Move(Objects[i]); RedrawObjects; end; end.