14.10.2014, 19:13 | #1 (permalink) |
Новичок
Регистрация: 24.02.2014
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
PascalABC: анимация
Код:
program V; uses crt,graphABC; var gas,gas2:array[0..19,0..1] of integer; xh,xh2,yh:array[0..19] of integer; i,j:integer; begin clrscr; randomize; begin gas[i,j]:=random(50)+50; gas2[i,j]:=random(50)+150; gas[i,j+1]:=random(100)+50; xh[i]:=random(3)+1; xh2[i]:=random(3)+1; yh[i]:=random(3)-1; end; for i:=0 to 19 do begin setbrushcolor(clyellow); circle(gas[i,j],gas[i,j+1],1); setbrushcolor(clred); circle(gas2[i,j],gas[i,j+1],1); end; setbrushcolor(clgreen); line(45,47,205,47); line(205,47,205,153); line(205,153,45,153); line(45,153,45,47); line(125,48,125,152); readkey; setbrushcolor(clblack); line(125,48,125,152); repeat for i:=0 to 19 do begin setbrushcolor(clyellow); circle(gas[i,j],gas[i,j+1],1); setbrushcolor(clred); circle(gas2[i,j],gas[i,j+1],1); end; delay(12000); for i:=0 to 19 do begin setbrushcolor(clblack); circle(gas[i,j],gas[i,j+1],1); circle(gas2[i,j],gas[i,j+1],1); if (gas[i,j]>200) or (gas[i,j]<50) then xh[i]:=xh[i]*(-1); if (gas[i,j+1]>150) or (gas[i,j+1]<50) then yh[i]:=yh[i]*(-1); if (gas2[i,j]>200) or (gas2[i,j]<50) then xh2[i]:=xh2[i]*(-1); gas[i,j]:=gas[i,j]+xh[i]; gas[i,j+1]:=gas[i,j+1]+yh[i]; gas2[i,j]:=gas2[i,j]-xh2[i]; delay (600); end; until keypressed; end. |
14.10.2014, 19:13 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Мой вам совет - прочитайте похожие обсуждения Две задачи на PascalABC Анимация Алгоритмы, анимация Анимация картинки |
15.10.2014, 04:34 | #2 (permalink) |
Member
Регистрация: 07.08.2012
Адрес: Находка, Приморский край
Сообщений: 336
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1671
|
Первая же ошибка, что видна - это здесь:
begin gas[i,j]:=random(50)+50; gas2[i,j]:=random(50)+150; gas[i,j+1]:=random(100)+50; xh[i]:=random(3)+1; xh2[i]:=random(3)+1; yh[i]:=random(3)-1; end; Переменные i,j неопределены, т.е. им не присвоены значения |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|