1. Jak pisać gry w CodeGym
Jak wiecie, CodeGym wprowadziło nową funkcję: pisanie gier . Te zadania są znacznie większe niż zwykłe zadania i znacznie bardziej interesujące. Są interesujące nie tylko do napisania, ale także do przetestowania. Rozumiecie o czym mowa ;) Praca w biurach CodeGym dosłownie stanęła w miejscu na kilka dni, kiedy zaczęliśmy testować zadania gry :) Każde zadanie gry to projekt: duże zadanie z dwudziestoma podzadaniami. Pisząc grę, musisz je ukończyć w określonej kolejności. Po wykonaniu ostatniego podzadania gra jest gotowa. Będzie korzystał z bardzo prostego silnika gry CodeGym . Praca z nim nie jest trudniejsza niż praca z konsolą. W tym dokumencie znajdziesz opis silnika gry oraz przykłady jego użycia .2. Funkcje silnika gry
Pole gry jest podzielone na komórki przez silnik gry. Minimalny rozmiar to 3x3; maksymalny to 100x100. Każdą komórkę można pomalować na określony kolor i wpisać w nią jakiś tekst. Rozmiar tekstu i kolor tekstu można również ustawić dla każdej komórki. Silnik umożliwia pisanie procedur obsługi zdarzeń dla kliknięć myszą i naciśnięć klawiszy. Kolejną ciekawą rzeczą jest możliwość pracy z timerem. Dowiedz się więcej w sekcji „Praca z timerem”. Nasz „oczywisty” silnik gry pozwala tworzyć bardzo interesujące gry — coś, co sam zobaczysz. Chcieć spróbować? Następnie przeczytaj następny akapit i zacznij pisać gry.3. Dostęp do gry
Aby rozpocząć pisanie gry, przejdź do sekcji „Gry” na stronie CodeGym, wybierz tę, która Ci się podoba i przejdź do jej strony. Pojawi się przycisk „ Napisz rozwiązanie ” — kliknij go. Web IDE zostanie otwarte. Tam rozpoczniesz pracę nad pierwszym podzadaniem gry. Co więcej, podzadania gry będą dostępne w IntelliJ IDEA za pośrednictwem wtyczki. Jeśli używasz IntelliJ IDEA , musisz zaktualizować wtyczkę. Najnowszą wersję wtyczki można 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”, który powinien zawierać bibliotekę silnika i kod dla twoich podzadań. Potem jest to jak rozwiązywanie każdego innego zadania. Możesz pisać gry w Web IDE lub w IntelliJ IDEA, w zależności od tego, co lubisz bardziej. Mimo to IntelliJ IDEA jest wygodniejszy. I bardziej profesjonalny. Wybór nalezy do ciebie.4. Publikowanie gier do katalogu aplikacji
Gdy skończysz pisać grę, możesz ją opublikować w katalogu „Gry i aplikacje” w CodeGym. Po prostu naciśnij przycisk „Opublikuj”, a za pół minuty Twoja gra zostanie dodana do sekcji „Opublikowane gry”. Jeśli chcesz podzielić się swoją implementacją gry z przyjaciółmi lub współpracownikami, nic nie może być prostsze. Po prostu wyślij im link do opublikowanej gry i mogą grać. Rejestracja na CodeGym nie jest wymagana. Jako twórca możesz czerpać przyjemność z tego, ile razy inni grają w Twoją grę. Podobnie jak liczba wyświetleń na YouTube. Im większy tym lepszy.5. Personalizacja gry
Gdy skończysz pisać grę, możesz ją zmodyfikować. Chcesz zagrać w 2048 na planszy 5x5? Zacząć robić. Jesteś programistą — i masz klawiaturę na wyciągnięcie ręki. Zmień grę, jak chcesz. Możesz dodać coś zupełnie nowego. Na przykład w Snake wąż może zwolnić, jeśli zje świeże jabłko (w ciągu 5 sekund po pojawieniu się jabłka). Co więcej, jabłko mogło zmienić kolor z czerwonego na zielony lub stać się gruszką. A może twój wąż kocha króliki bardziej niż jabłka... W Minesweeper możesz dać graczowi drugie życie, a może bombę atomową, która "rozświetla" komórki w promieniu kilku komórek. Pamiętaj jednak, że jeśli pracujesz z plikami lub grafiką w grze bez użycia silnika gry, gra może nie zostać opublikowana w katalogu aplikacji. Wiesz, nie wszystko da się uruchomić w przeglądarce.6. Przydatna dokumentacja
Przygotowaliśmy szczegółowe dokumenty, które pomogą Ci zapoznać się z silnikiem gry CodeGym (inicjowanie gry, tworzenie pola gry i praca z grafiką), obsługą zdarzeń (praca za pomocą myszy, klawiatury i timera) oraz odświeżaniem lub poznaj podstawową teorię Java, którą znajdziesz podczas pisania gier (pierwsze i drugie zadanie CodeGym):- Sekcja „Gry” na CodeGym: Opis silnika gry
- Sekcja „Gry” w CodeGym: obsługa zdarzeń
- Sekcja „Gry” w CodeGym: Przydatna teoria
7. Typowe problemy
Mam Linuksa i używam OpenJDK. Gdy uruchamiam grę kompilator wyrzuca błąd:
Error:(6, 8) java: cannot access javafx.application.Application
class file for javafx.application.Application not found
Co powinieneś zrobić? Nasz silnik gry używa JavaFX, ale nie jest on domyślnie instalowany w OpenJDK. Musisz to naprawić:
-
W wierszu polecenia wprowadź następujące 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 pakiecie JDK pod adresem: <JDK_PATH>/jre/lib/ext/jfxrt.jar
-
Kliknij OK.
-
Pobierz pakiet JavaFX Windows SDK ze strony https://gluonhq.com/products/javafx/ .
-
Rozpakuj pobrane archiwum do dowolnego folderu (najlepiej w folderze lib projektu Games).
-
Otwórz POMYSŁ.
-
W IDEA przejdź do Plik -> Struktura projektu.
-
Wybierz zakładkę Biblioteki i kliknij + -> Java.
-
Określ ścieżkę do rozpakowanego folderu javafx-sdk i wybierz folder lib
-
Kliknij OK. Następnie w nowym oknie dodaj JavaFX do modułu Games.
-
Teraz powinna pojawić się nowa biblioteka. Kliknij Zastosuj -> OK.
-
Aby poprawnie uruchomić grę, otwórz Uruchom-> Edytuj konfigurację i wprowadź następujące informacje w polu Opcje maszyny wirtualnej:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
-
Następnie musisz dodać aplikację na tej karcie. W tym celu kliknij + -> Aplikacja
-
-
Wybierz moduł Gry
-
Podaj ścieżkę do głównej klasy (w tym przypadku —
SnakeGame
) -
Wprowadź te same opcje maszyny wirtualnej, co w punkcie 9.
Kliknij Zastosuj -> OK
-
-
Uruchom grę.
GO TO FULL VERSION