| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Надо изменять строку |
| Автор: Kefir 21.9.2005, 08:17 |
| Передо мной поставлена следующая задача: # язык Perl; # ввод и вывод в текстовом режиме (STDIN/STDOUT); # входные данные: произвольная строка символов (только печатные символы и пробелы); # на выходе: анимированная строка с решением. В итоге должно получиться http://www.ebeling.ee/flash/test.swf. Т.е. буквы выводятся в адфавитном порядке, но проблема не в этом. Это-то просто. А вот как осуществить само "ползание" по строке? Буду благодарен за всю инфу! |
| Автор: chaos 21.9.2005, 14:33 |
| почитай сдесь http://forum.vingrad.ru/index.php?showtopic=58940&view=findpost&p=471466 |
| Автор: korob2001 21.9.2005, 21:57 | ||
Я что-то не понял, ты хочешь организовать всю эту визуализацию в окне командной строки? Если да, то вот написал тебе хороший повод для размышления.
Измени переменные настройки таким образом, как тебе больше нравится. Так же следует перед запуском данной программы установить модуль Time::HiRes, он необходим для реализации задержки меньше секунды. Если модуль установлен и ты под виндой, то можно ничего не менять, если же ты под другой осью, то обязательно измени переменную $clear, на команду очистки экрана в твоей оси. Всю эту бодягу можно ещё здорово оптимизировать: обработать системный вызов, оптимизировать поиск и т.д. Я сейчас сижу над Java, голова совершенно другим забита, да и тебе пойдёт на пользу самостоятельная оптимизация. Но если что-то, конкретное, будет не понятно, спрашивай. Всегда поможем. |
| Автор: maxim1000 21.9.2005, 22:07 |
| сразу скажу - в perl'е совсем никакой по строке можно ползать движение влево - символ backspace (0x08) движение вправо - его нет, есть рисование буквы+движение вправо, так что можно просто рисовать ту же самую букву (т.е. надо будет хранить строку)... надеюсь, это будет работать и в perl'е так что, возможно, получится обойтись без очистки экрана... |
| Автор: Kefir 22.9.2005, 09:13 |
| korob2001, спасибо! работат! (единственное что пришлось поменять - комадну cls на clear, так как сижу на лине). Теперь осталось разобраться что там внутри происходит maxim1000. ну с этим я попозже тоже попробую разобраться. конено, вариант без очистки мне больше импонирует, но в связи со срочностью ситуации пока остаюсь при clear. |