Генератор детективного романа на Java
Закончил небольшой оригинальный проект на Java: несмотря на свою немаленькую практику, подобного не встречал. Необходимо было создать генератор детективного романа на Java. Должны быть некие задаваемые пользователем параметры: например герои, место действия. Программа должна иметь графический интерфейс и после установки параметров генерировать текст романа. Необходимы иллюстрации и задан объем - 500-600 слов. Интересно же?
Несмотря на некую непонятность, на самом деле наибольшую сложность у меня вызвало найти рассказ (так как это все же не роман по объёму) с заданным числом слов. Ну а так по сути дела это просто подстановка слов в шаблон и небольшая рандомизация. Правда, при большом количестве параметров и кропотливой работе с шаблоном могут получаться очень разные произведения.
Программа представляет собой один класс-файл, который наследуется от JFrame. В коде есть некоторые комментарии, которые позволят понять его. Требуется Java 8 или выше.
Шаблонизация
Программа работает по принципу шаблонов. Сейчас есть один файл шаблона (прилагаю, файл story.txt). Это обычный текстовый файл, в котором расставлены слова-замены.
- {nameHero – главный герой
- {victim} – жертва
- {dopName1} – дополнительный персонаж 1
- {dopName2} – дополнительный персонаж 2
- {rankHero} – звание главного героя
- {timeAction} – время действия
Таким образом вы сами можете добавить любые другие шаблоны – просто изменив текстовый файл и добавив на JFrame новые JTextField
Рандомизация текста
Есть возможность уникализировать текст, каждый раз будет разныый - добавлена дополнительно рандомизация. Смысл такой: в тексте вы можете встретить такие шаблоны:
- @деревяшкаzкусочек дереваzдерево@
- @происходитzслучается@
- @дежурныеzдежурящие@
Здесь можете прямо в шаблоне править и добавлять сколько угодно таких конструкций. Чем больше - тем больше будет вариантов текста.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.