Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ графика

Автор: -lamer- 28.03.2007 23:44

вот моя прога , помогите плз сделать в ней движение рандомное этой фигуры и моргание каждой части квадрата пожалуйста !





Uses Graph,crt;
VAR
x1, y1, x2, y2:integer;
GraphDriver,GraphMode:integer;
procedure L(x1, y1, x2, y2:word);
begin
SetColor(17);
Line (x1, y1, x2, y2);
end;
Begin
randomize;
GraphDriver:=detect;
InitGraph(GraphDriver, GraphMode, '');
repeat
delay(49999);
SetBkColor(random(16));

x1:=200; y1:=100; x2:=500; y2:=100; L (x1, y1, x2, y2);
x1:=500; y1:=100; x2:=500; y2:=400; L (x1, y1, x2, y2);
x1:=500; y1:=400; x2:=200; y2:=400; L (x1, y1, x2, y2);
x1:=200; y1:=400; x2:=200; y2:=100; L (x1, y1, x2, y2);
x1:=200; y1:=250; x2:=350; y2:=100; L (x1, y1, x2, y2);
x1:=350; y1:=100; x2:=500; y2:=250; L (x1, y1, x2, y2);
x1:=500; y1:=250; x2:=350; y2:=400; L (x1, y1, x2, y2);
x1:=350; y1:=400; x2:=200; y2:=250; L (x1, y1, x2, y2);
x1:=275; y1:=250; x2:=350; y2:=175; L (x1, y1, x2, y2);
x1:=275; y1:=250; x2:=350; y2:=325; L (x1, y1, x2, y2);
x1:=350; y1:=325; x2:=425; y2:=250; L (x1, y1, x2, y2);
x1:=425; y1:=250; x2:=350; y2:=175; L (x1, y1, x2, y2);
x1:=200; y1:=175; x2:=275; y2:=175; L (x1, y1, x2, y2);
x1:=275; y1:=175; x2:=275; y2:=100; L (x1, y1, x2, y2);
x1:=425; y1:=100; x2:=425; y2:=175; L (x1, y1, x2, y2);
x1:=425; y1:=175; x2:=500; y2:=175; L (x1, y1, x2, y2);
x1:=200; y1:=325; x2:=275; y2:=325; L (x1, y1, x2, y2);
x1:=275; y1:=325; x2:=275; y2:=400; L (x1, y1, x2, y2);
x1:=425; y1:=400; x2:=425; y2:=325; L (x1, y1, x2, y2);
x1:=425; y1:=325; x2:=500; y2:=325; L (x1, y1, x2, y2);



until KeyPressed;
read(x1);
CloseGraph;
End.


Автор: klem4 29.03.2007 0:10

Отрисуй изображение один раз (можно на невидимой сторанице), захвати его с помощью GetImage а потом выводи в рандомных точках с помощью PutImage. Если не умеешь пользоваться этими процедурами, воспользуйся поиском или открой учебник ;)

Автор: -lamer- 29.03.2007 0:12

что такое невидимая страница ?

Автор: volvo 29.03.2007 0:30

SetActivePage(1); { <--- Активная, но невидимая страница }
SetVisualPage(0); { <--- Видимая, но неактивная }

Если в таком состоянии что-то выводить на экран, то ты ничего не увидишь. До тех пор, пока на сделаешь
SetVisualPage(1);
, т.е. не установишь первую страницу видимой...

Поищи по форуму, именно по этим 2-м словам, примеры использования были... Только не забудь, что надо использовать режимы, у которых больше одной видеостраницы...

Автор: Гость 29.03.2007 1:10

непонятно =((( объяните плз поробнее чуть-чуть

Автор: volvo 29.03.2007 1:13

Я тебе уже сказал - ищи по словам SetVisualPage и SetActivePage, и разбирайся в примерах...

Автор: Гость 29.03.2007 1:52

не получается с эитими процедурами работать , помогите