IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Проблема в прорисовке, Написал но не рлбит правильно
Artem7
сообщение 8.04.2012 9:24
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Мужской

Репутация: -  0  +


Написал программу в которой когда шарик при ударе об границы окна как бы отбивается и дальше летит...
В общем на картинке более понятно станет
Он начальное даже не прорисовывает((( Трассировку сделал ничего за границы не должно улететь...
И да картинку я сам нарисовал, чтобы было видно как работать должна а то щас будете говорить что код не подходит под картинку)
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.


Сообщение отредактировано: Artem7 - 8.04.2012 9:42


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 8.04.2012 9:57
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  8  +


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

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

Откомпилируй и запусти. Увидишь, что на последнем "until x=0" условие не выполняется. Значит нужно заменить строгое равенство на нестрогое "x<=0". Видимо, аналогично нужно поступить и в других циклах (y>=640, ...).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Artem7
сообщение 8.04.2012 10:20
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 54
Пол: Мужской

Репутация: -  0  +


Цитата(Федосеев Павел @ 8.04.2012 9:57) *

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

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

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

Вооо спасибо)))терь заработало)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.03.2024 12:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"