Adam Grudziński

Inne projekty ·

Małe projekty po godzinach: planery, angielski i muzyczna gra online

Planer celów, budżet domowy, fiszki z angielskiego i muzyczna gra online powstały z różnych powodów, ale każdy z tych projektów czegoś mnie nauczył. Część doświadczeń przydała się później przy Algebrze i tablicy do lekcji.

Przejdź do tekstu

Obok Algebry i Panelu Biznesu powstało u mnie kilka mniejszych aplikacji, o których rzadko wspominam, bo nikomu ich nie sprzedaję. Robiłem je dla siebie, żeby coś sobie ułatwić albo sprawdzić w praktyce rozwiązanie, którego jeszcze nie znałem. Część z nich skończyła się po kilku dniach, jedna zrobiła się zaskakująco duża.

Planer celów

W styczniu zrobiłem sobie prosty planer celów. Cele dzielą się na kategorie i horyzonty: krótki, średni i długi, a każdy można rozbić na mniejsze kroki z paskiem postępu, który rośnie wraz z odhaczonymi zadaniami. Planer działa w przeglądarce i trzyma wszystko na urządzeniu, na którym się z niego korzysta, więc nie trzeba zakładać konta, a dane nie trafiają do żadnej zewnętrznej bazy. Można je zapisać do pliku i potem wczytać z powrotem, a napisy przełączają się między polskim, niemieckim i angielskim.

Najciekawsze w tym projekcie jest to, czego w nim najwięcej, czyli poprawki kontrastu. Większość zmian, jakie wprowadzałem w planerze, dotyczy tego, żeby tekst był czytelny na każdym tle i w każdym wariancie kolorów. Czytelność wydawała mi się wcześniej drobiazgiem, a zajęła więcej czasu niż cała reszta.

Planer budżetu

Planer budżetu zacząłem w grudniu, a w marcu napisałem go od nowa jako prostszą wersję z kafelkami. Obecna ma kilka profili, w tym przykładowy do obejrzenia bez wpisywania własnych danych, trzy języki i trzy waluty, zapis i wczytywanie danych w pliku, który otworzy zwykły arkusz kalkulacyjny, oraz cztery działy: budżet, oszczędności, inwestycje i długi. Do tego dochodzi część edukacyjna z krótkim quizem, losowanym z puli trzydziestu pytań.

Ten projekt nauczył mnie, jak aplikacja wygląda na prawdziwym telefonie, a nie w podglądzie na komputerze. Pasek zakładek, który na komputerze wyglądał dobrze, na iPhonie trzeba było poprawiać osobno.

Planer budżetu: panel główny z kafelkami wpływów, wydatków, oszczędności i inwestycji
Planer budżetu po przebudowie: wszystko, co ważne, na kafelkach na jednym ekranie.

Angielski w stylu Quizleta

Z tej samej potrzeby co planery powstała prosta aplikacja do nauki słówek i zdań po angielsku, zrobiona na wzór popularnych fiszek z Quizleta. Na ekranie pojawia się polskie hasło, a zadaniem jest wpisać tłumaczenie. Jest też tryb, w którym tłumaczy się całą serię naraz, co przydaje się przy ćwiczeniu czasów na pełnych zdaniach. Cała aplikacja powstała w dwóch krótkich podejściach, co pokazuje, że czasem do nauki wystarczy naprawdę niewiele programowania.

Gra muzyczna online

Najwięcej czasu spędziłem przy grze muzycznej, w której połączyłem dwie znane gry. Z Hitstera wziąłem oś czasu: słyszysz fragment piosenki i musisz ustawić ją we właściwym miejscu między utworami, które już leżą na osi. Z SongPopa wziąłem zgadywanie wykonawcy i tytułu. Za dobre miejsce na osi jest punkt, za wykonawcę drugi, za tytuł trzeci, a grę wygrywa ten, kto pierwszy zbierze dziesięć kart.

Trybów zrobiło się kilka. Można grać na jednym telefonie, podając go sobie z rąk do rąk, z imionami i punktami kilku graczy. Można grać samemu, tylko z osią czasu. Najciekawsza jest jednak gra online: ktoś zakłada pokój, reszta dołącza przez kod QR, a muzyka gra albo z jednego urządzenia, które robi za DJ-a, albo na telefonie każdego gracza. Do tego doszedł pojedynek jeden na jednego w stylu SongPopa, rozgrywany w turach, z krótkim linkiem do wyzwania i profilami z unikalnymi nickami.

Za kulisami wszystko opierało się na tym, żeby kilka telefonów wiedziało o sobie na bieżąco: kiedy jeden gracz ustawi piosenkę na osi, pozostali muszą to zobaczyć od razu. Pokoje gry działają w usłudze Cloudflare, gdzie jedno miejsce pilnuje stanu rozgrywki i rozsyła ruchy do wszystkich graczy. Listę utworów zebrałem automatycznie z kilku źródeł naraz, między innymi ze Spotify i iTunes, a ponieważ te serwisy ograniczają, ile można od nich pobrać, i czasem po prostu odmawiają, trzeba było te przeszkody obchodzić. Wyszło 2368 utworów od 606 wykonawców, z dołożoną klasyką lat sześćdziesiątych, siedemdziesiątych i osiemdziesiątych. Trzydziestosekundowe fragmenty piosenek pochodzą z Deezera i po drodze przechodzą przez mojego pośrednika, bo linki z serwisów muzycznych szybko wygasają, a przeglądarka nie pozwala pobierać ich prosto z cudzej strony.

Żeby nie klikać ręcznie za dwóch graczy, przygotowałem automatyczne testy, które otwierają dwie przeglądarki naraz i same rozgrywają w nich cały pojedynek. To projekt do nauki i do zabawy, nie produkt: muzyka i pomysł gry mają swoich właścicieli, więc nie planuję jej wypuszczać.

Po co to wszystko

Każdy z tych małych projektów dołożył coś do większych. Na planerach nauczyłem się robić aplikacje, które działają bez internetu i bez zakładania konta, na budżecie tego, jak zachowuje się telefon, a na grze tego, jak sprawić, żeby kilka urządzeń widziało to samo w tej samej chwili, bez czego nie obejdzie się też tablica do lekcji online. Mały projekt jest dobrym miejscem na błędy, bo kosztują w nim niewiele, a lekcja zostaje ta sama.