ООП в паскале., Нарисовать дождь и круги на воде |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
ООП в паскале., Нарисовать дождь и круги на воде |
klik1602 |
29.03.2011 22:19
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
Добрый вечер, при написании программы возникла проблема с написанием кругов на воде, да и нарисовать воду никак не выходит(( ток дождь, не подскажите, как это сделать?
вот код: program ll; Сообщение отредактировано: Lapp - 30.03.2011 3:14 |
Lapp |
30.03.2011 11:38
Сообщение
#2
|
|||
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
возникла проблема с написанием кругов на воде, да и нарисовать воду никак не выходит(( ток дождь, не подскажите, как это сделать? вот код:
Как я понял, прога не твоя, и ты пыталась ее адаптировать под свою задачу.. Очень много лишнего, я полно выкинул. Например - какой глубокий смысл в использовании Show/Hide И Paint/Clear? Почему мы не добавить еще несколько уровней? Добавил объект Эллипс (поскольку круги на воде всегда видны сбоку). Разбирайся. Что неясно - спрашивай. Писалось под FPC, на TP не проверял (Показать/Скрыть)
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
|||
volvo |
30.03.2011 13:06
Сообщение
#3
|
Гость |
Андрей, у тебя память, выделенная под Эллипсы, не освобождается.
Я тут тоже кое-что наваял, но раз уж есть - то выкладывать не буду. Правда, я сделал чуть по-другому: как только капля достигает "уровня земли" - я удаляю из массива объект "капля", и инициализирую этот же элемент объектом "эллипс", то есть, все действие происходит в одном массиве, и фактически вызовом одного метода (виртуального, разумеется), нет засилья if-ов, все решает полиморфизм... Ну, да и фиг с ним... Пусть остается у меня в коллекции, может еще кому понадобится... |
klik1602 |
30.03.2011 21:33
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 49 Пол: Женский Реальное имя: Натали Репутация: 1 |
большое спасибо за помощь, исходный текст программы действительно не мой, и я действительно) пыталась его адаптировать под себя)
не могли бы вы для этой части написать комментарии, а то я как-то не понимаю, что к чему.. |
Lapp |
30.03.2011 23:20
Сообщение
#5
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Андрей, у тебя память, выделенная под Эллипсы, не освобождается. Да, забыл.. Спасибо! klik1602, исправь мою ошибку, пожалуйста.Цитата Я тут тоже кое-что наваял, но раз уж есть - то выкладывать не буду. Правда, я сделал чуть по-другому: как только капля достигает "уровня земли" - я удаляю из массива объект "капля", и инициализирую этот же элемент объектом "эллипс", то есть, все действие происходит в одном массиве, и фактически вызовом одного метода (виртуального, разумеется), нет засилья if-ов, все решает полиморфизм... Ну, да и фиг с ним... Пусть остается у меня в коллекции, может еще кому понадобится... Интересно, что мы оба сочли, что круги на воде нужно делать эллипсами, хотя это так или иначе требует дополнитнльных затрат. Я некоторое время пребывал в сомнениях, сделать ли один массив или все же два разных. В результате покривил душой - заменил массив a на массив кругов и добавил массив эллипсов.. Конечно, с одним массивом лучше, осоебнно для темы ООП. Так что ты бы лучше выложил свой код тоже.. Тема стала бы хорошей демонстрацией разных подходов - половинчатого и целиком-ООП.не могли бы вы для этой части написать комментарии, а то я как-то не понимаю, что к чему..
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
31.03.2011 0:29
Сообщение
#6
|
Гость |
Цитата Так что ты бы лучше выложил свой код тоже.. Ну, тогда выкладываю:rain_02.pas ( 4.31 килобайт ) Кол-во скачиваний: 434 Комментариев в коде нет совсем, если есть вопросы - задавайте, попробую ответить. Программа тестировалась под FPC, в Турбо-Паскале компилироваться не будет однозначно, абстрактных методов там еще нет. |
Lapp |
31.03.2011 6:05
Сообщение
#7
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Я балдею, насколько ход мысли у нас был одинаковый (по оформлению)! Глубина (deep | h), скорости, максимальный радиус.. ) кул!
в Турбо-Паскале компилироваться не будет однозначно, абстрактных методов там еще нет. А когда ожидаются? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
31.03.2011 9:01
Сообщение
#8
|
Гость |
Цитата А когда ожидаются? Я ж написал "еще", а не "пока"... В Турбо еще нет, в Object уже есть... |
Текстовая версия | 13.06.2024 6:43 |