Jakoś nigdy w życiu nie miałem okazji nauczyć się JavaScriptu. Nie, bo nie. Interfejsów webowych zawsze starałem się unikać jak ognia (ilość standardów i bibliotek przyprawia o zawrót głowy), w dodatku nietrudno tam znaleźć użytkowników końcowych, którzy jak powszechnie wiadomo są złem koniecznym każdego projektu. Znalazłem sobie wygodne miejsce gdzieś na zapleczu wielkich projektów i wyspecjalizowałem się w obróbce danych oraz przygotowywaniu ich do dalszego użytku. A interfejsem końcowym niech się martwią inni.
Jednak niedawna zagadka o trzech planetach kręcących się po idealnie kołowych orbitach nie dawała mi spokoju, podjąłem więc próbę zasymulowania rozwiązania w JavaScript.
Najpierw - logiczne - kupiłem sobie nową domenę. Bo przecież każdy zdrowomyślący człowiek zaczyna naukę nowego języka od kupienia domeny, prawda?
Prawda?
No więc kupiłem domenę sptth.xyz
bo się ładnie odbija w lusterku z https 🙂 A poza tym była dostępna w cenie zaledwie 79 eurocentów za rok, czyli praktycznie za darmo.
Potem było długo, długo nic. Bo praca, bo rodzina, bo upały, wiadomo.
Aż wreszcie któregoś dnia siadłem na czterech, spędziłem dwa dni na guglaniu tajników znacznika <canvas> oraz najgłębszych możliwych podstaw języka JS (dużo pomógł mi fakt, że za młodu pisałem całkiem sporo kodu w C++), no i po niezliczonych potknięciach i niepowodzeniach wreszcie wyrzeźbiłem coś, co przy dużej dozie dobrej woli oraz tolerancji można uznać za działającą symulację.
Niniejszym prezentuję efekt końcowy owej dłubaniny. Proszę się nie śmiać, to mój pierwszy w życiu kod w JavaScript 🙂
Tadam: https://sptth.xyz/planets.html
Jeżeli mi czas i chęci pozwolą, niewykluczone że pojawi się tam więcej śmieci. A jeżeli nie, to trudno...
Każdy w końcu pisze grę lub symulację na canvasie. 😉
A co do JS to trzeba pamiętać, że swego czasu był on ubogim krewnym Java. Żartem rekrutacji, gdzie ludzie mylili go z Javą. A dziś proszę jaka machina, czego w tym się nie piszę.
Teraz to nawet kod w asemblerze można uruchamiać w przeglądarce. Cuda na kiju, panie.
Fajne. Co prawda na początku nie rozumiałem, czemu tak „skacze” i myślałem, że jakiś błąd, ale uzależnienie prędkości symulacji od bliskości zrównania planet bardzo sprytne.
Fajnie to zrobiłeś, naprawdę 🙂 Ciekaw jestem dalszych efektów 🙂
Mnie jakiś czas temu zaciekawił VirtualBox, oglądałem filmiki o tym i czytałem, ale nie mam jak tego wypróbować.
VirtualBox-a używam głównie do testowania dystrybucji Linuksa. Ostatnio jakby rzadziej.