Модуль:SimpleGenerator

Материал из Поле цифровой дидактики
Версия от 10:04, 17 апреля 2026; Patarakin (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Краткое описание

Модуль SimpleGenerator генерирует короткий псевдослучайный текст из двух заранее заданных предложений. Каждый вызов выбирает две фразы из внутреннего списка и склеивает их в мини‑историю, начинающуюся словами One day....

Модуль можно использовать:

  • как простой «шумовой» генератор текста для примеров;
  • как источник вариативных фраз в учебных заданиях по гипертексту и генеративным текстам;
  • для демонстрации принципов случайности и композиции в цифровой литературе.

Использование

Базовый вызов:

{{#invoke:SimpleGenerator|generateText}}

Каждый вызов вернёт чуть разный текст, составленный из двух случайных предложений из внутреннего списка.


local p = {}

function p.generateText(frame)
local sentences = {
    "читатель выбирает свой путь от статьи к статье, как по ветвям гипертекста.",
    "каждая статья словаря ведёт к другой, и границы романа размываются.",
    "страницы не имеют единственно верного порядка — только маршруты чтения.",
    "словарная форма превращается в роман, когда читатель связывает фрагменты.",
    "вместо линейного сюжета есть сеть пересекающихся отсылок.",
    "в одном тексте сосуществуют несколько версий одних и тех же событий.",
    "словарь становится картой, по которой каждый читатель движется по‑своему.",
    "одна и та же статья открывается по‑разному в зависимости от предыдущих переходов.",
    "гипертекст напоминает игру, где очередной щелчок меняет конфигурацию повествования.",
    "роман-лексикон живёт только в активном взаимодействии с читателем.",
    "опыт чтения складывается из цепочки выбранных ссылок, а не из нумерованных страниц."
}
    math.randomseed(os.time())
    local sentence1 = sentences[math.random(#sentences)]
    local sentence2 = sentences[math.random(#sentences)]
    return "В [[гипертекст]]е ... " .. sentence1 .. " " .. sentence2
end

return p