Помощь - Поиск - Пользователи - Календарь
Полная версия: Проблема в прорисовке
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Artem7
Написал программу в которой когда шарик при ударе об границы окна как бы отбивается и дальше летит...
В общем на картинке более понятно станет
Он начальное даже не прорисовывает((( Трассировку сделал ничего за границы не должно улететь...
И да картинку я сам нарисовал, чтобы было видно как работать должна а то щас будете говорить что код не подходит под картинку)
Program sharik;
Uses Crt,Graph;
Var x,y,RX,i,j,z:integer;
Gt,Gm:integer;
Begin
Gt:=detect;
InitGraph(Gt,Gm,'');
x:=10;y:=240;RX:=8;i:=2;
repeat
x:=10;y:=240;
repeat
ClearDevice;
x:=x+30;y:=y-60;
SetFillStyle(1,i);
FillEllipse(x,y,RX,RX);delay(15000);
until y=0;
repeat
ClearDevice;
x:=x+30;y:=y+60;
SetFillStyle(1,i);
FillEllipse(x,y,RX,RX);delay(15000);
until y=480;
repeat
ClearDevice;
x:=x+30;y:=y-30;
SetFillStyle(1,i);
FillEllipse(x,y,RX,RX);delay(15000);
until x=640;
repeat
ClearDevice;
x:=x-30;y:=y-30;
SetFillStyle(1,i);
FillEllipse(x,y,RX,RX);delay(15000);
until y=0;
repeat
ClearDevice;
x:=x-30;y:=y+30;
SetFillStyle(1,i);
FillEllipse(x,y,RX,RX);delay(15000);
until x=0;
until keypressed;
End.
Федосеев Павел
Давай я дам тебе не рыбку, а удочку...

Поставь точки останова (в IDE TurboPascal и FreePascal это Ctrl-F8 - строка выделится красным) на всех repeat'ах.

Откомпилируй и запусти. Увидишь, что на последнем "until x=0" условие не выполняется. Значит нужно заменить строгое равенство на нестрогое "x<=0". Видимо, аналогично нужно поступить и в других циклах (y>=640, ...).
Artem7
Цитата(Федосеев Павел @ 8.04.2012 9:57) *

Давай я дам тебе не рыбку, а удочку...

Поставь точки останова (в IDE TurboPascal и FreePascal это Ctrl-F8 - строка выделится красным) на всех repeat'ах.

Откомпилируй и запусти. Увидишь, что на последнем "until x=0" условие не выполняется. Значит нужно заменить строгое равенство на нестрогое "x<=0". Видимо, аналогично нужно поступить и в других циклах (y>=640, ...).

Вооо спасибо)))терь заработало)))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.