1. Jak pisać gry w JavaRush
Jak już rozumiesz, JavaRush ma wyjątkową okazję - pisanie gier . Są znacznie większe niż zwykłe zadania i znacznie ciekawsze. Ciekawie jest nie tylko je pisać, ale także, hm, testować. Jeśli wiesz, co mamy na myśli ;) Praca w biurze JavaRush została dosłownie sparaliżowana na kilka dni, kiedy rozpoczęliśmy fazę testową zadań w grze :) Każde zadanie w grze to projekt: duże zadanie z dwudziestoma podzadaniami. Podczas pisania gry będziesz musiał je ukończyć po kolei. Po wykonaniu ostatniego podzadania gra będzie gotowa. Będzie używać bardzo prostego silnika gry o nazwie JavaRush . Praca z nim nie jest trudniejsza niż z konsolą. Opis silnika gry i przykłady pracy z nim znajdziesz w tym dokumencie .2. Możliwości silnika gry
Pole gry jest podzielone przez silnik gry na komórki. Minimalny rozmiar to 3x3, maksymalny to 100x100. Każdą komórkę można pomalować na określony kolor i zapisać w niej tekst. Ponadto dla każdej komórki ustawiany jest rozmiar i kolor tekstu. Silnik umożliwia pisanie metod obsługi zdarzeń takich jak „naciśnięcia przycisku myszy” i „naciśnięcia klawiatury”. Kolejną interesującą rzeczą, na którą warto zwrócić uwagę, jest możliwość pracy z timerem. Więcej na ten temat dowiesz się w rozdziale „Praca z timerem”. Ten „oczywisty silnik” pozwala tworzyć bardzo ciekawe gry, jak sam się przekonasz. Chcesz to sprawdzić? Następnie przeczytaj następny akapit i zacznij pisać gry.3. Uzyskanie dostępu do gry
Aby uzyskać dostęp do pisania gier, musisz przejść do sekcji „Gry” na stronie JavaRush, wybrać tę, która Ci się podoba i przejść do jej strony. Pojawi się przycisk „ Wpisz rozwiązanie ” – kliknij go. Otworzy się Twoje WebIDE i zaczniesz pracować nad pierwszym podzadaniem gry. Również od tego momentu podzadania gry będą dostępne w Intellij IDEA poprzez wtyczkę. Jeśli używasz Intellij IDEA , będziesz musiał zaktualizować wtyczkę. Najnowszą wersję wtyczki możesz pobrać tutaj . Po zaktualizowaniu wtyczki otwórz listę zadań i wybierz „Java Games Quest”. Następnie kliknij dostępne podzadanie: w Twoim projekcie powinien pojawić się moduł Java Games, a w nim biblioteka silnika i kod Twojego podzadania. Dalsze działania są takie same, jak przy rozwiązywaniu innych problemów. Gry można pisać w WebIDE lub Intellij IDEA, w zależności od preferencji. Ale Intellij IDEA jest nadal wygodniejszy. I bardziej profesjonalnie. Wybór nalezy do ciebie.4. Publikowanie gier w katalogu aplikacji
Kiedy skończysz pisać grę, możesz ją opublikować w katalogu Gry i aplikacje w JavaRush. Wystarczy kliknąć przycisk „Publikuj”, a po pół minucie Twoja gra zostanie dodana do sekcji „Opublikowane gry” . Jeśli chcesz podzielić się implementacją swojej gry z przyjaciółmi lub współpracownikami, nic prostszego nie może być. Po prostu wyślij im link do osobistej strony opublikowanej gry i pozwól im grać. Rejestracja w JavaRush nie jest do tego wymagana. Ty, jako twórca, możesz podziwiać liczbę sesji grania. Podobnie jak liczba wyświetleń na YouTube. Im większy tym lepszy.5. Personalizacja gry
Po zakończeniu pisania gry możesz ją modyfikować. Chcesz 2048 na polu 5x5? Proszę. Jesteś programistą - masz klawiaturę w dłoniach. Zmień grę, jak chcesz. Możesz dodać coś zupełnie nowego. Na przykład w grze Wąż wąż może zwolnić, jeśli zje jabłko, gdy jest jeszcze świeże (w ciągu pierwszych 5 sekund po jego pojawieniu się). W tym samym czasie jabłko może zmienić kolor z czerwonego na zielony lub stać się gruszką. Albo nagle Twój wąż bardziej kocha króliki niż jabłka... W Minesweeper możesz dać graczowi drugie życie, czyli np. bombę atomową, która „oświetli” komórki w promieniu kilku komórek. Pamiętaj jednak: jeśli dodasz pliki lub grafikę do swojej gry inaczej niż za pośrednictwem silnika gry, mogą one nie zostać opublikowane w katalogu aplikacji. Wiadomo, że nie wszystko da się uruchomić w przeglądarce.6. Przydatna dokumentacja
Abyś mógł zapoznać się z pracą silnika gry JavaRush (inicjowanie gry, tworzenie pola gry i praca z grafiką), przetwarzaniem zdarzeń (praca z myszką, klawiaturą i timerem), a także odświeżyć lub poznać podstawowe teorii Javy, która będzie przydatna przy pisaniu zadań - gier (pierwsze i drugie zadanie JavaRush), przygotowaliśmy kilka szczegółowych dokumentów:- Sekcja „Gry” w JavaRush: Opis silnika gry
- Sekcja „Gry” w JavaRush: Obsługa zdarzeń
- Sekcja „Gry” w JavaRush: Przydatna teoria
7. Typowe problemy
Używam Linuksa i korzystam z OpenJDK. Podczas uruchamiania gry kompilator wyrzuca błąd:Error:(6, 8) java: cannot access javafx.application.Application
class file for javafx.application.Application not found
Co robić? Nasz silnik gry korzysta z JavaFX, a OpenJDK nie ma go domyślnie zainstalowanego. Należy to naprawić:
-
W wierszu poleceń wpisz polecenie:
sudo apt-get install openjfx
-
Następnie przejdź do ustawień projektu (alt+ctrl+shift+s) -> SDK -> Classpath i kliknij znak plus po prawej stronie. Wybierz plik jfxrt.jar. Znajduje się w zainstalowanym JDK pod ścieżką: <JDK_PATH>/jre/lib/ext/jfxrt.jar
-
Kliknij OK.
-
Pobierz pakiet SDK JavaFX dla systemu Windows ze strony https://gluonhq.com/products/javafx/ .
-
Rozpakuj pobrane archiwum do dowolnego folderu (najlepiej do folderu lib projektu Games).
-
Otwórz IDEA.
-
W IDEA przejdź do menu Plik -> Struktura projektu.
-
Wybierz zakładkę Biblioteki i kliknij + -> Java.
-
Określ ścieżkę do rozpakowanego folderu javafx-sdk i wybierz folder lib
-
Następnie kliknij OK i w nowym oknie dodaj JavaFX do modułu Gry.
-
Teraz powinna pojawić się nowa biblioteka, kliknij Zastosuj -> OK.
-
Aby uruchomić się poprawnie należy otworzyć menu Uruchom->Edytuj konfigurację i w polu Opcje VM wpisać komendę:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
-
Następnie w tej samej zakładce musisz dodać Application. W tym celu kliknij + -> Aplikacja
-
- Wybierz moduł Gry
- Podaj ścieżkę do klasy głównej (w tym przypadku -
SnakeGame
) - Dodaj pole opcji maszyny wirtualnej
- Wprowadź opcje VM w taki sam sposób jak w punkcie 9.
Kliknij Zastosuj -> OK
-
Uruchom grę.
GO TO FULL VERSION