На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Генератор детективного романа на 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# и SHA-1
Урок 10. Получение результатов от параллельных задач C#


© upread.ru 2013-2023
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.