![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
Передо мной поставлена следующая задача:
# язык Perl; # ввод и вывод в текстовом режиме (STDIN/STDOUT); # входные данные: произвольная строка символов (только печатные символы и пробелы); # на выходе: анимированная строка с решением. В итоге должно получиться так. Т.е. буквы выводятся в адфавитном порядке, но проблема не в этом. Это-то просто. А вот как осуществить само "ползание" по строке? Буду благодарен за всю инфу! |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
||||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Я что-то не понял, ты хочешь организовать всю эту визуализацию в окне командной строки? Если да, то вот написал тебе хороший повод для размышления.
Измени переменные настройки таким образом, как тебе больше нравится. Так же следует перед запуском данной программы установить модуль Time::HiRes, он необходим для реализации задержки меньше секунды. Если модуль установлен и ты под виндой, то можно ничего не менять, если же ты под другой осью, то обязательно измени переменную $clear, на команду очистки экрана в твоей оси. Всю эту бодягу можно ещё здорово оптимизировать: обработать системный вызов, оптимизировать поиск и т.д. Я сейчас сижу над Java, голова совершенно другим забита, да и тебе пойдёт на пользу самостоятельная оптимизация. Но если что-то, конкретное, будет не понятно, спрашивай. Всегда поможем. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
сразу скажу - в perl'е совсем никакой
по строке можно ползать движение влево - символ backspace (0x08) движение вправо - его нет, есть рисование буквы+движение вправо, так что можно просто рисовать ту же самую букву (т.е. надо будет хранить строку)... надеюсь, это будет работать и в perl'е так что, возможно, получится обойтись без очистки экрана... -------------------- qqq |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
korob2001, спасибо! работат! (единственное что пришлось поменять - комадну cls на clear, так как сижу на лине). Теперь осталось разобраться что там внутри происходит
maxim1000. ну с этим я попозже тоже попробую разобраться. конено, вариант без очистки мне больше импонирует, но в связи со срочностью ситуации пока остаюсь при clear. |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |