Генератор детективного романа на Java


Закончил небольшой оригинальный проект на Java: несмотря на свою немаленькую практику, подобного не встречал. Необходимо было создать генератор детективного романа на Java. Должны быть некие задаваемые пользователем параметры: например герои, место действия. Программа должна иметь графический интерфейс и после установки параметров генерировать текст романа. Необходимы иллюстрации и задан объем - 500-600 слов. Интересно же?

программа генератор романа

Несмотря на некую непонятность, на самом деле наибольшую сложность у меня вызвало найти рассказ (так как это все же не роман по объёму) с заданным числом слов. Ну а так по сути дела это просто подстановка слов в шаблон и небольшая рандомизация. Правда, при большом количестве параметров и кропотливой работе с шаблоном могут получаться очень разные произведения.

Программа представляет собой один класс-файл, который наследуется от JFrame. В коде есть некоторые комментарии, которые позволят понять его. Требуется Java 8 или выше.

Шаблонизация

Программа работает по принципу шаблонов. Сейчас есть один файл шаблона (прилагаю, файл story.txt). Это обычный текстовый файл, в котором расставлены слова-замены.
  • {nameHero – главный герой
  • {victim} – жертва
  • {dopName1} – дополнительный персонаж 1
  • {dopName2} – дополнительный персонаж 2
  • {rankHero} – звание главного героя
  • {timeAction} – время действия
После того, как вы вводите в окне программы слова и нажимаете «Генерировать!», java читает файл шаблона и заменяет эти шаблоны на введённые в окне.

Таким образом вы сами можете добавить любые другие шаблоны – просто изменив текстовый файл и добавив на JFrame новые JTextField

Рандомизация текста

Есть возможность уникализировать текст, каждый раз будет разныый - добавлена дополнительно рандомизация. Смысл такой: в тексте вы можете встретить такие шаблоны:
  • @деревяшкаzкусочек дереваzдерево@
  • @происходитzслучается@
  • @дежурныеzдежурящие@
То есть слова синонимы, которые заключены в собаку (@) и разделены буквой «z». Программа автоматически обрабатывает такие конструкции и случайно выбирает один вариант из двух.

Здесь можете прямо в шаблоне править и добавлять сколько угодно таких конструкций. Чем больше - тем больше будет вариантов текста.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, программы, java, услуги, проза




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




C#: перевод из м/с в км/ч
С помощью чего создаются сайты
Урок 24. ArrayList Java