Neologist

Neologist.png

Cześć!

Pierwszy post związany z programowaniem na tym blogu. Może na początek odrobina historii. Pierwszy raz z systemem generowania nazw, a konkretnie nicków, spotkałem się w wieku 13 lat, podczas pierwszego kontaktu z grą Tibia. Podczas tworzenia postaci mamy tam możliwość wygenerowania klimatycznej nazwy, która wpasuje się w uniwersum.

tibia

Zrobiło to na mnie wielkie wrażenie, jednak minęło sporo lat nim do tematu generowania słów powróciłem. Na studiach, na początku przygody z Javą stworzyłem w Netbeansie pierwszą aplikację, która generowała jedno takie słowo na podstawie innych słów. Do stworzenia GUI użyłem Swinga. Wyglądało i działało to mizernie. Ale działało 🙂

Jest to więc drugie podejście do tematu. Tym razem użyłem JavyFX, wygląda to bardzo dobrze i działa sprawnie. Pierszym krokiem jest wprowadzenie pliku wejściowego z zapisanymi słowami, na podstawie których zostaną wygenerowane tablice częstości sąsiedztw liter, czyli jak często litery są obok siebie. Następnie możemy wygenerować określoną przez nas ilość słów. Użytkownik ma także pewną swobodę w procesie twórczym, może modyfikować parametry słów wyjściowych (np. długość słowa). Jeżeli rezultat jest satysfakcjonujący użytkownik może zapisać całą listę do pliku, bądź poszczególne słowa do schowka.

Kod programu dostępny jest na moim GitHubie. Wersja .jar tutaj. Przykładowy plik wejściowy tu.

Aktualnie myślę nad  kolejnym programem, jeszcze bardziej rozbudowanym generatorem, który pozwoli oddać jeszcze więcej kontroli użytkownikowi. Będzie to na zasadzie układania klocków, które ostatecznie staną się  schematem powstawania słów.

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s