![]() |
|
|
![]()
|
|
| Сый |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 23.1.2006 Репутация: 2 Всего: 3 |
Написал такой вот код:
Он выводит на экране командной строки в случайном месте звёздочку случайного цвета, которая увеличивается (в три этапа: точка, '*' и более крупная звёздочка) и исчезает. Чтобы проходило некоторое время между этапами развития звёздочки и между их появлением используется задача ОС.Спать (sleep из WinAPI). А нужно мне, чтобы выводилось сразу несколько этих самых звёздочек на экран - пока одна будет развиваться, другая должна будет появляться. --------------------
Язык программирования, родственный языкам Паскаль и Оберон, использующий русские служебные слова - Глагол: http://glagol.nad.ru |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
ну так в теле цикла выводить не одну звездочку, а несколько
можно сделать массив, который содержит состояния всех звездочек, и: 1. использовать его содержимое для вывода каждой звездочки 2. изменять его при каждом проходе цикла например, массив может содержать сами символы, которые используются при выводе звездочки Модератор: теперь небольшое обращение ко всем, кто собирается тут что-то писать (основано на опыте предыдущих тем): при появлении вопросов (и ответов), которые касаются самого языка Глагол, но не касаются данной задачи, я либо удалю эти сообщения, либо (если вся дискуссия скатится в ту сторону) выкину тему куда-нибудь... -------------------- qqq |
|||
|
||||
| Сый |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 23.1.2006 Репутация: 2 Всего: 3 |
Да решение это просто, само собой на ум приходит, да вот задача ОС.Спать известна тем, что прерывает выполнение приложения на указанное время. То есть пока программа спит, ничего произойти в ней не может.
Думаю, тут нужно сделать задачу, которая будет создавать новую звезду и обновлять существующие, и сразу после этого отправлять программу в спячку на 150 мс, например. Естественно, тогда нужно будет использовать ряд (массив) координат каждой звезды. Если это было бы так просто для меня, не обращался бы за помощью --------------------
Язык программирования, родственный языкам Паскаль и Оберон, использующий русские служебные слова - Глагол: http://glagol.nad.ru |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
именно это я и имел в виду - не связывать паузу с выводом только одной звездочки только я не понимаю, в чем теперь проблема? есть массив координат, массив состояний, количество звездочек (т.е. кол-во используемых ячеек в массивах) делаем цикл в нем: 1. для каждой звезды (т.е. еще один цикл внутри) выводим ее текущее состояние (координаты и символ берем из массива) 2. все звезды, у которых состояние последнее, удаляем 3. у остальных делаем состояние следующим 4. по какому-то критерию (например, каждые 10 проходов) создаем новую звездочку 5. пауза... -------------------- qqq |
|||
|
||||
| Сый |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 23.1.2006 Репутация: 2 Всего: 3 |
Спасибо, попробую осуществить.
--------------------
Язык программирования, родственный языкам Паскаль и Оберон, использующий русские служебные слова - Глагол: http://glagol.nad.ru |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |