Historia Pewnej Gry Językowej #7 – Refactoring czyli zmiany na lepsze

Historia Pewnej Gry Językowej #7 – Refactoring czyli zmiany na lepsze

Historia Pewnej Gry Językowej

#7

Refactoring czyli zmiany na lepsze

Przyszedł czas na dodanie paska postępu. I niestety się zdziwiłem. Źle zaprojektowałem początkowo grę, więc teraz trzeba zmienić parę rzeczy. No ale po kolei. Pasek postępu będzie pokazywał obecny poziom, doświadczenie i punkty. Za pomocą zwykłego tekstu na razie. Później się doda jakieś animacje, grafiki i inne bajery.

Zacznijmy od przygotowania uniwersalnego wyglądu/stylu do libgdx, żeby nie pisać w kółko tej samej funkcji. Nazwijmy to DefaultSkin czyli domyślny i będziemy tego używać kiedy tylko się da, chyba że w którymś momencie zechcemy użyć innego to się po prostu zrobi kolejną klasę lub funkcję, która nam spersonalizuje ten jeden wygląd.

Tak więc robimy kolor biały do naszego stylu. Do tego dokładamy domyślny font od libgdx. Na razie wystarczy. I na koniec dodamy też styl dla etykietek. Uprości to nam kod. Refactoring na całego 🙂 Ale to dopiero początek.

Zróbmy GameView gdzie przeniesiemy całą logikę samej gry. Trzeba wywalić z MainView jak najwięcej i sprawić, aby znajdował się tam tylko główny widok, czyli wstępnie menu i pasek z poziomem. Łatwiej nam będzie zarządzać tym wszystkim. Teraz tylko zrobić konstruktory i przejścia pomiędzy widokami i tyle.

Skoro refactoring  już zakończony to czas zrobić ten pasek. Nie powinno być ciężko. To będą tylko trzy teksty z odpowiednimi liczbami. Umieścimy to gdzieś na górze. Tak więc weźmy nasz piękny, domyślny styl, który chwilę temu zrobiliśmy i dodajmy go do LevelBar. Zróbmy trzy etykietki dla poziomu, doświadczenia i punktów. Wszystko weźmiemy z MetaGame, gdzie znajdują się statyczne pola z informacjami o poziomie itd. Musimy też zrobić mały myk, ponieważ ten tekst może być różnej długości, więc nie da się go na stałe w jedno miejsce przypisać. Zróbmy skomplikowaną matematykę, która policzy nam mniej więcej o ile odsunąć tekst od boków ekranu. Teraz tylko dodajemy to do tabeli. Poziom z lewej, a doświadczenie i punkty z prawej.

W sumie to tyle. Zostaje tylko dodać to do MainView, który zarządza widokami i tyle. Zrobiliśmy refactoring, dodaliśmy pasek postępu i ułatwiliśmy sobie zarządzanie stylami.

One Reply to “Historia Pewnej Gry Językowej #7 – Refactoring czyli zmiany na lepsze”

  1. Ja refaktoryzuję kod praktycznie zawsze po osiągnięciu celów zadania. Takie sprzątanie po swojej pracy zdecydowanie zwiększa porządek w projekcie i ułatwia pracę i sobie w przyszłości i innym (jeśli by już mieli zajrzeć do naszego kodu).

Leave a Reply

Your email address will not be published. Required fields are marked *

*