Limeryk generatywny 1

Generator


Wstęp

Ten generator, będący właściwie moim pierwszym generatorem poezji (nie licząc generatora komplementów), powstał 11 czerwca 2011 podczas hackathonu (maratonu programistycznego) programowania dodatków do Speed Dial (strony startowej) przeglądarki Opera.

Przykładowy limeryk z tego generatora wsadziłem też na mój profil na dA:

Limeryk generatywny

Wtyczka

Wygląd wtyczki
pobierz wtyczkę

Zasada działania

Generator został oczywiście napisany w języku JavaScript. Podstawą działania generatora są dwie funkcje losujące odpowiednio jeden albo dwa losowe element z przekazanej jako parametr tablicy:

function randItem(arr) {
	return arr[ Math.floor(Math.random() * arr.length) ];
}
function randPair(arr) {
	var i = Math.floor(Math.random() * arr.length);
	var j = Math.floor(Math.random() * (arr.length - 1));
	if(j>=i) ++j;
	return [arr[i], arr[j]];
}

Wers 1.

Pierwszy wers to złączenie trzech słów wylosowanych po jednym z każdego z następujących trzech zbiorów:

Pewna,
Piękna,
Młoda
+ Ada, Anna, Berta, Bianka, Blanka, Bogna, Bona, Cyntia, Dagna, Daria, Diana, Dina, Elza, Ewa, Fabia, Flawia, Flora, Fryda, Gaja, Gerda, Gloria, Gracja, Greta, Hanna, Helga, Hilda, Ida, Iga, Inga, Irma, Jagna, Julia, Justa, Kaja, Kinga, Kira, Klara, Kosma, Ksenia, Lea, Lena, Luba, Lidia, Ligia, Lilia, Linda, Liwia, Maja, Maria, Marta, Mszczuja, Nadia, Nela, Nika, Nila, Nimfa, Nina, Oda, Olga, Pola, Roma, Róża, Ruta, Sancja, Sara, Sergia, Sława, Stella, Sylwia, Szczęsna, Tekla, Tina, Wanda, Wiara, Wiola, Zofia, Zyta, Łucja, Żanna, Żywia + z Warszawy,
z Krakowa,
z Wrocławia,
z Poznania,
z Kłodawy,
ze Lwowa,
z Sieprawia,
z Żagania

Wersy 2. i 5.

Następnie według rymu do nazwy miasta wybierany jest odpowiedni zbiór:

-awy:
Dłubała w nosie dla wprawy
Nie lubiła zabawy
Miała humor niemrawy
-owa:
Gdy bolała ją głowa
Dobierała źle słowa
-wia:
Chodowała pół pawia
Nam kłopoty wciąż sprawia
Miłośniczka bezprawia
-nia:
Miała dosyć kochania
Niedokończywszy zdania
Nie cierpiała czekania

…i losowane są z niego wersy 2. i 5., które notabene mogą wystąpić w dowolnej kolejności.

Wersy 3. i 4.

Z wersami 3. i 4. jest jeszcze prościej. Zdefiniowana jest tablica tablic, z której losowany jest jeden element (jedna tablica) i z wylosowanej tablicy losowane są dwa wersy:

1.
Wszędzie ryby łowiła,
Tak to strasznie lubiła,
Męża swego zabiła,
Ciało w lesie ukryła,
Wczoraj troszkę utyła,
Wciąż się na coś skarżyła,
Bo to była mogiła,
Jak pijawka sie wiła,
Zwariowana ciut była,
2.
Powiedziała coś kotu,
By nie kalał jej płotu,
3.
Wszędzie łowiła ryby,
Wciąż chodziła na grzyby,
Wykrzykując — „Ah! Gdyby!” —
4.
Polowała na żaby,
Hodowała dwa kraby,
Główkowała, czy aby?
5.
Jak przystoi panience,
Chodziła w zwiewnej sukience,

Podsumowanko

I tak to mniejwięcej wygląda. Generator ten nie jest oczywiście idealny, a wręcz do ideału brakuje mu bardzo wiele, dlatego polecam zapoznać się i z jego następcą „Limerykiem generatywnym 2” i jego opisem.

ja, bo ja