Jason. Cała informatyka w jednym miejscu!

Nadeszła ta wiekopomna chwila!!! Prace nad programem ostatecznie dobiegły do mety i tak po ponad czterech miesiącach siedzenia w języku Java, udaje mi się skończyć projekt! "Generator tabeli statystyki" do pobrania już niebawem, ale jest jedno "ale". Szczegóły zawarte są w środku.

"GENERATOR TABELI STATYSTYKI". KULISY PRAC

Już kilka dni wcześniej przygotowałem osobny wpis na temat samego programu, który nadchodzi wielkimi krokami, to jest ten link. 1 czerwca zaczął się cały proces tworzenia. Niestety plan wypalił połowicznie, bo choć rzeczywiście, udało mi się doprowadzić ten program do końca, to jednak potrzebowałem o wiele więcej czasu niż założyłem. Sądziłem, że wystarczy kwartał (trzy miesiące) na to, aby "Generator tabeli statystyki" został kompletnie napisany i zoptymalizowany od góry do dołu. Prawda okazała się taka, że potrzebowałem ponad miesiąc więcej (jakieś 40 dni do przodu), żeby projekt doczekał się finalizacji.

Pierwszym punktem w zakresie konstrukcji funkcjonalności było konwertowanie podanego wyrażenia tekstowego na wyrażenie arytmetyczne oraz osadzenie wyników w tabelce. Po lewej stronie kolumna prezentująca aktualną iterację, a obok znajdowały się wartości funkcji w danym punkcie X. Brzmi prosto, a dopiero po jakichś dwóch tygodniach uzyskałem wynik o który mi chodziło. Chciałem, żeby "Generator tabeli statystyki" potrafił obsługiwać dowolną liczbę różnych równań, więc po opracowaniu wstępnej konwersji operatorów arytmetycznych wraz z kolejnością wykonywania, doszły później słowa kluczowe takie jak "lvl" (aktualna iteracja w pętli) czy "sqrt" (pierwiastek kwadratowy z wyrażenia podanego w nawiasie).

"Generator tabeli statystyki" - kadr z filmu z dnia 16 lipca, 2020 roku

Kadr z filmu prezentującego działanie programu z dnia 16 lipca, 2020 roku.

Na początku prac, projekt nosił nazwę "Generator tabeli doświadczenia", gdyż głównym celem było opracowywanie równań dla poziomów doświadczenia do gier RPG. We wrześniu jednak stwierdziłem, że lepiej będzie zmienić nazwę na bardziej uniwersalną, aby mogła realizować swoje zadania nie tylko w wyżej podanym celu. Przecież takie funkcje mogą również występować w obliczaniu czasu na dany poziom (w sensie etap / mapa / plansza), we wzroście liczby punktów zdrowia przeciwników na daną falę i tak dalej.

Drugą poważną sprawą był wykres. Chryste, nie zapomnę ile razy człowiek musiał weryfikować czy każdy najdrobniejszy element rysuje się prawidłowo. Tu poprawić, tam przesunąć, jeszcze w innym miejscu miał rosnąć, ale do pewnego momentu. Istna masakra, co już wielokrotnie powtarzałem na swoim Facebooku. Sam panel rysujący graficzny wykres funkcji zajął jakiś miesiąc (nie licząc późniejszych poprawek). Film demonstrujący działanie wraz z gotowym wsparciem widoku graficznego pojawił się dopiero 29 sierpnia.

"Generator tabeli statystyki" - kadr z filmu z dnia 29 sierpnia, 2020 roku

Kadr z filmu prezentującego działanie programu z dnia 29 sierpnia, 2020 roku.

Trzeci większy punkt i ostatni zarazem, to było coś, co na początku "developmentu" mi nie przychodziło do głowy. Zapis do pliku OBU rodzajów danych: tabela jako "txt" oraz wykres jako obraz PNG. "Generator tabeli statystyki" został "uzbrojony" w eksport do plików zewnętrznych. Muszę jednak przyznać, że choć brzmi to poważnie i można było sobie wyobrażać nie wiadomo co, to całość wraz z panelem do wybierania opcji zajęła mi tylko dwa tygodnie, więc to była najkrótsza większa implementacja w całym programie.

Największym przekleństwem było spolszczenie okna dialogowego "JFileChooser" oraz okna palety kolorów ("JColorChooser"). Wydawało mi się, że w Javie to będzie kwestia wywołania kilku metod i sprawa załatwiona, ale okazało się, że trzeba było się bawić w pętle wyszukujące odpowiednie komponenty poprzez warunki i słowo kluczowe "instanceof". Delikatnie pisząc, to nie było przyjemne doświadczenie. Koniec końców, udało się osiągnąć jakiś kompromis i efekt końcowy opublikowałem w połowie września.

"Generator tabeli statystyki" - kadr z filmu z dnia 14 września, 2020 roku

Kadr z filmu prezentującego działanie programu z dnia 14 września, 2020 roku.

Optymalizacja trwająca miesiąc, to był ostatni etap idący od połowy września. Skończony dopiero teraz. Szufladkowanie metod, ćwiartowanie klas, optymalizowanie i upraszczanie zapisów. Tak wyglądało moje życie przez ten cały czas. Algorytm przetwarzający równanie był rzeczą, którą na każdym etapie musiałem naprawiać na nowo. Co jakaś większa modyfikacja w kodzie, tam algorytm się psuł.

Tak w bardzo dużym streszczeniu przebiegały prace nad programem. Jeśli jesteście ciekawi jak dokładnie wyglądał proces "ewolucji", w każdej chwili możecie zajrzeć na mojego Facebooka i tam przejrzeć kilka zdjęć oraz filmów ukazujących jak wówczas wyglądał program.

"GENERATOR TABELI STATYSTYKI". PRAWDOPODOBNA DATA WYDANIA

Teraz informacja stanowiąca istotę tego artykułu. Zapewne wielu z Was może myśleć, że jak dzisiaj ogłosiłem zakończenie prac nad programem, to już teraz można odliczać siedem dni do publikacji. Niestety NIE. Czeka mnie jeszcze etap wdrażania aplikacji. Najpierw muszę pomyśleć nad postacią publikowanych plików, żeby to jakoś porządnie wyglądało. Zapowiedziałem dwie wersje oprogramowania: w postaci archiwum JAR dla posiadaczy JRE w wersji 11 albo wyższej (bo w takiej wersji Javy to budowałem) oraz w postaci zwykłego pliku wykonywalnego celem obejścia wymagania instalowania środowiska uruchomieniowego.

Po tym, jak wszystkie testy na innych komputerach przebiegną bez zarzutów, zabieram się za film będący oficjalną zapowiedzią programu "Generator tabeli statystyki", tak jak to miało miejsce przy grach. Dopiero potem, jak wypuszczę ten film, zaczynamy odliczanie. Siedem dni później program wchodzi na stronę z linkiem do pobrania. Ile to może potrwać, tego nie mam pojęcia. Jest duża szansa, że zdążę to już wypuścić w październiku, a jeśli się nie uda, na pewno Was powiadomię.


Tyle z mojej strony. Wybaczcie, że przez dłuższy czas nie było żadnego artykułu, aczkolwiek musiałem się skupić na programie ze względu na nadchodzące studia.

PODOBNE ARTYKUŁY