1. So schreiben Sie Spiele auf CodeGym
Wie Sie wissen, hat CodeGym eine neue Funktion eingeführt: das Schreiben von Spielen . Diese Aufgaben sind wesentlich umfangreicher als normale Aufgaben und viel interessanter. Es ist nicht nur interessant, sie zu schreiben, sondern auch, ähm, zu testen. Du verstehst, wovon wir reden ;) Die Arbeit in den CodeGym-Büros kam buchstäblich mehrere Tage lang zum Erliegen, als wir mit dem Testen der Spielaufgaben begannen :) Jede Spielaufgabe ist ein Projekt: eine große Aufgabe mit zwanzig Unteraufgaben. Wenn Sie ein Spiel schreiben, müssen Sie es der Reihe nach abschließen. Wenn die letzte Teilaufgabe erledigt ist, ist Ihr Spiel fertig. Es wird die sehr einfache Spiel-Engine von CodeGym verwenden . Die Arbeit damit ist nicht schwieriger als die Arbeit mit der Konsole. Eine Beschreibung der Spiel-Engine und Anwendungsbeispiele finden Sie in diesem Dokument .2. Funktionen der Spiel-Engine
Das Spielfeld wird von der Spiel-Engine in Zellen unterteilt. Die Mindestgröße beträgt 3x3; das Maximum beträgt 100x100. Jede Zelle kann in einer bestimmten Farbe bemalt und mit Text versehen werden. Für jede Zelle können außerdem die Textgröße und die Textfarbe eingestellt werden. Die Engine ermöglicht das Schreiben von Event-Handlern für Mausklicks und Tastendrücke. Eine weitere interessante Sache ist die Möglichkeit, mit einem Timer zu arbeiten. Erfahren Sie mehr im Abschnitt „Arbeiten mit einem Timer“. Mit unserer „offensichtlichen“ Spiel-Engine können Sie sehr interessante Spiele erstellen – etwas, das Sie selbst sehen werden. Möchten Sie es versuchen? Lesen Sie dann den nächsten Absatz und beginnen Sie mit dem Schreiben von Spielen.3. Auf ein Spiel zugreifen
Um mit dem Schreiben eines Spiels zu beginnen, gehen Sie auf der CodeGym-Website zum Abschnitt „Spiele“, wählen Sie eines aus, das Ihnen gefällt, und gehen Sie zu der entsprechenden Seite.


4. Veröffentlichen von Spielen im Anwendungskatalog
Wenn Sie mit dem Schreiben eines Spiels fertig sind, können Sie es im Katalog „Spiele und Anwendungen“ auf CodeGym veröffentlichen. Klicken Sie einfach auf die Schaltfläche „Veröffentlichen“ und in einer halben Minute wird Ihr Spiel zum Abschnitt „Veröffentlichte Spiele“ hinzugefügt.

5. Spielanpassung
Sobald Sie mit dem Schreiben eines Spiels fertig sind, können Sie es ändern. Möchten Sie 2048 auf einem 5x5-Brett spielen? Fortfahren. Sie sind Programmierer – und haben eine Tastatur zur Hand. Ändern Sie das Spiel, wie Sie möchten. Sie können etwas völlig Neues hinzufügen. Bei Snake könnte die Schlange beispielsweise langsamer werden, wenn sie einen frischen Apfel frisst (innerhalb von 5 Sekunden nach dem Erscheinen des Apfels). Darüber hinaus könnte der Apfel seine Farbe von Rot nach Grün ändern oder sich in eine Birne verwandeln. Oder vielleicht liebt Ihre Schlange Kaninchen mehr als Äpfel ... In Minesweeper könnten Sie dem Spieler ein zweites Leben geben oder vielleicht eine Atombombe, die Zellen in einem Umkreis von mehreren Zellen „zum Leuchten bringt“. Bedenken Sie jedoch: Wenn Sie in einem Spiel mit Dateien oder Grafiken arbeiten, ohne die Spiel-Engine zu verwenden, wird das Spiel möglicherweise nicht im Anwendungskatalog veröffentlicht. Wissen Sie, nicht alles kann in einem Browser ausgeführt werden.6. Nützliche Dokumentation
Wir haben einige ausführliche Dokumente vorbereitet, die Ihnen dabei helfen sollen, sich mit der CodeGym-Spiel-Engine (Initialisierung des Spiels, Erstellen des Spielfelds und Arbeiten mit Grafiken), der Ereignisbehandlung (Arbeiten mit Maus, Tastatur und Timer) und der Aktualisierung oder Aktualisierung vertraut zu machen Lernen Sie die grundlegende Java-Theorie kennen, die Sie beim Schreiben von Spielen finden (erste und zweite CodeGym-Quest):- Abschnitt „Spiele“ auf CodeGym: Beschreibung der Spiel-Engine
- Abschnitt „Spiele“ zu CodeGym: Ereignisbehandlung
- Abschnitt „Spiele“ auf CodeGym: Nützliche Theorie
7. Häufige Probleme
Ich habe Linux und verwende OpenJDK. Wenn ich das Spiel starte, gibt der Compiler eine Fehlermeldung aus:
Error:(6, 8) java: cannot access javafx.application.Application
class file for javafx.application.Application not found
Was sollte man tun? Unsere Spiel-Engine verwendet JavaFX, es ist jedoch nicht standardmäßig in OpenJDK installiert. Sie müssen dies beheben:
-
Geben Sie an der Eingabeaufforderung Folgendes ein:
sudo apt-get install openjfx
-
Gehen Sie danach zu den Projekteinstellungen (ALT+STRG+UMSCHALT+S) -> SDKs -> Klassenpfad und klicken Sie rechts auf das Pluszeichen. Wählen Sie die Datei jfxrt.jar aus. Es befindet sich im installierten JDK unter: <JDK_PATH>/jre/lib/ext/jfxrt.jar
-
OK klicken.
-
Laden Sie das JavaFX Windows SDK unter https://gluonhq.com/products/javafx/ herunter .
-
Entpacken Sie das heruntergeladene Archiv in einen beliebigen Ordner (vorzugsweise im lib-Ordner des Games-Projekts).
-
Öffnen Sie IDEA.
-
Gehen Sie in IDEA zu Datei -> Projektstruktur.
-
Wählen Sie die Registerkarte Bibliotheken und klicken Sie auf + -> Java.
-
Geben Sie den Pfad zum entpackten javafx-sdk- Ordner an und wählen Sie den lib- Ordner aus
-
OK klicken. Fügen Sie dann im neuen Fenster JavaFX zum Spielemodul hinzu.
-
Jetzt sollte eine neue Bibliothek erscheinen. Klicken Sie auf Übernehmen -> OK.
-
Um das Spiel korrekt auszuführen, öffnen Sie „Ausführen“ -> „Konfiguration bearbeiten“ und geben Sie Folgendes in das Feld „VM-Optionen“ ein:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
-
Als nächstes müssen Sie die Anwendung auf dieser Registerkarte hinzufügen. Klicken Sie dazu auf + -> Anwendung
-
-
Wählen Sie das Modul Spiele aus
-
Geben Sie den Pfad zur Hauptklasse ein (in diesem Fall —
SnakeGame
) -
Geben Sie die gleichen VM-Optionen wie in Punkt 9 ein.
Klicken Sie auf Übernehmen -> OK
-
-
Führen Sie das Spiel aus.
GO TO FULL VERSION