Package ea

Class Game


public final class Game extends Object
Diese Klasse gibt Zugriff auf das aktuelle Spiel.
Author:
Michael Andonie, Niklas Keller
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Vector
    convertMousePosition(Scene scene, Point mousePosition)
     
    static void
    Diese Methode beendet das Spiel.
    Das heißt, dass das Fenster geschlossen, alle belegten Ressourcen freigegeben und auch die virtuelle Maschine von Java beendet wird.
    static Scene
    Gibt die gerade aktive Szene an.
    static Vector
    Gibt die Fenstergröße in Pixel aus.
    static Vector
    Gibt die Position der Maus in der aktuell angezeigten Scene aus.
    static Point
     
    static boolean
    Gibt an, ob die Engine gerade im Debug-Modus ausgeführt wird.
    static boolean
    isKeyPressed(int keyCode)
    Gibt an, ob eine bestimmte Taste derzeit heruntergedrückt ist.
    static boolean
    Gibt an, ob gerade die Engine läuft.
    static boolean
    Gibt an, ob die laufende Instanz der Engine gerade verbose Output gibt.
    static boolean
    requestOkCancel(String message, String title)
    Öffnet ein modales Dialogfenster mit OK/Abbrechen-Buttons.
    static String
    requestStringInput(String message, String title)
    Öffnet ein modales Dialogfenster, in dem der Nutzer zur Eingabe von Text in einer Zeile aufgerufen wird.
    static boolean
    requestYesNo(String message, String title)
    Öffnet ein modales Dialogfenster mit Ja/Nein-Buttons.
    static void
    setDebug(boolean value)
    Setzt, ob die Engine im Debug-Modus ausgeführt werden soll.
    static void
    setExitOnEsc(boolean value)
    Setzt, ob beim Drücken von Escape das Spiel beendet werden soll.
    static void
    setFramePosition(int x, int y)
    Setzt die Fenster-Position auf dem Bildschirm.
    static void
    setFrameSize(int width, int height)
    Setzt die Größe des Engine-Fensters.
    static void
    Setzt den Titel des Spielfensters.
    static void
    setVerbose(boolean value)
    Setzt, ob die aktuell laufende Instanz der Engine verbose Output geben soll.
    static void
    showMessage(String message, String title)
    Gibt einen Nachricht in einem modalen Dialogfenster aus.
    static void
    start(int width, int height, Scene scene)
    Dies startet das Fenster und beginnt sämtliche internen Prozesse der Engine.
    static void
    TODO : Dokumentation!
    static void
    Rendert einen Screenshot des aktuellen Spielfensters und speichert das resultierende Bild in einer Datei.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Game

      public Game()
  • Method Details

    • setTitle

      @API public static void setTitle(String title)
      Setzt den Titel des Spielfensters.
      Parameters:
      title - Titel des Spielfensters.
    • setExitOnEsc

      @API public static void setExitOnEsc(boolean value)
      Setzt, ob beim Drücken von Escape das Spiel beendet werden soll.
      Parameters:
      value - true, falls ja, sonst false.
    • getFrameSizeInPixels

      @API public static Vector getFrameSizeInPixels()
      Gibt die Fenstergröße in Pixel aus.
      Returns:
      Ein Vector-Objekt, dessen Höhe und Breite mit Fensterhöhe & -breite übereinstimmt.
    • start

      @API public static void start(int width, int height, Scene scene)
      Dies startet das Fenster und beginnt sämtliche internen Prozesse der Engine.
      Parameters:
      width - Die Breite des Zeichenbereichs.
      height - Die Höhe des Zeichenbereichs.
      scene - Szene, mit der das Spiel gestartet wird, z.B. das Menü.
    • convertMousePosition

      @Internal public static Vector convertMousePosition(Scene scene, Point mousePosition)
    • transitionToScene

      @API public static void transitionToScene(Scene scene)
      TODO : Dokumentation!
    • getActiveScene

      @API public static Scene getActiveScene()
      Gibt die gerade aktive Szene an.
      Returns:
      Die gerade aktive Szene. Wurde das Spiel noch nicht gestartet, ist die Rückgabe null.
      See Also:
    • isKeyPressed

      @API public static boolean isKeyPressed(int keyCode)
      Gibt an, ob eine bestimmte Taste derzeit heruntergedrückt ist.
      Parameters:
      keyCode - Die zu testende Taste als Key-Code (also z.B. KeyEvent.VK_D).
      Returns:
      true, wenn die zu testende Taste gerade heruntergedrückt ist. Sonst false.
      See Also:
    • isRunning

      @API public static boolean isRunning()
      Gibt an, ob gerade die Engine läuft. Die Engine läuft, sobald es ein sichtbares Fenster gibt. Dieses läuft, sobald start(int, int, Scene) ausgeführt wurde.
      Returns:
      true, wenn das Spiel läuft, sonst false.
      See Also:
    • setFrameSize

      @API public static void setFrameSize(int width, int height)
      Setzt die Größe des Engine-Fensters.
      Parameters:
      width - Die neue Breite des Engine-Fensters in px.
      height - Die neue Höhe des Engine-Fensters in px.
    • setFramePosition

      @API public static void setFramePosition(int x, int y)
      Setzt die Fenster-Position auf dem Bildschirm.

      Standard ist mittig.

      Parameters:
      x - X-Position
      y - Y-Position
    • exit

      @API public static void exit()
      Diese Methode beendet das Spiel.
      Das heißt, dass das Fenster geschlossen, alle belegten Ressourcen freigegeben und auch die virtuelle Maschine von Java beendet wird.
    • showMessage

      @API public static void showMessage(String message, String title)
      Gibt einen Nachricht in einem modalen Dialogfenster aus. Der Dialog ist über JOptionPane implementiert.
      Parameters:
      message - Der Inhalt der Botschaft im Dialogfenster.
      title - Der Titel des Dialogfensters.
    • requestStringInput

      @API public static String requestStringInput(String message, String title)
      Öffnet ein modales Dialogfenster, in dem der Nutzer zur Eingabe von Text in einer Zeile aufgerufen wird. Der Dialog ist über JOptionPane implementiert.
      Parameters:
      message - Der Inhalt der Botschaft im Dialogfenster.
      title - Der Titel des Dialogfensters.
      Returns:
      Die Eingabe des Nutzers. Ist null, wenn der Nutzer den Dialog abgebrochen hat.
    • requestYesNo

      @API public static boolean requestYesNo(String message, String title)
      Öffnet ein modales Dialogfenster mit Ja/Nein-Buttons. Der Dialog ist über JOptionPane implementiert.
      Parameters:
      message - Der Inhalt der Botschaft im Dialogfenster.
      title - Der Titel des Dialogfensters.
      Returns:
      Die Eingabe des Nutzers:
      • Ja → true
      • Nein → false
      • Abbruch (= Dialog manuell schließen) → false
    • requestOkCancel

      @API public static boolean requestOkCancel(String message, String title)
      Öffnet ein modales Dialogfenster mit OK/Abbrechen-Buttons. Der Dialog ist über JOptionPane implementiert.
      Parameters:
      message - Der Inhalt der Botschaft im Dialogfenster.
      title - Der Titel des Dialogfensters.
      Returns:
      Die Eingabe des Nutzers:
      • OK → true
      • Abbrechen → false
      • Abbruch (= Dialog manuell schließen) → false
    • getMousePositionInFrame

      @Internal public static Point getMousePositionInFrame()
    • getMousePositionInCurrentScene

      @API public static Vector getMousePositionInCurrentScene()
      Gibt die Position der Maus in der aktuell angezeigten Scene aus.
      Returns:
      Die Position der Maus in der aktuellen Scene (unter Einbezug von Kamerazoom und -verschiebung).
    • isDebug

      @API public static boolean isDebug()
      Gibt an, ob die Engine gerade im Debug-Modus ausgeführt wird.
      Returns:
      ist dieser Wert true, wird die Engine gerade im Debug-Modus ausgeführt. Sonst ist der Wert false.
      See Also:
    • isVerbose

      @API public static boolean isVerbose()
      Gibt an, ob die laufende Instanz der Engine gerade verbose Output gibt.
      Returns:
      ist dieser Wert true, werden extrem ausführliche Logging-Informationen gespeichert. Sonst ist der Wert false.
      See Also:
    • setVerbose

      @API public static void setVerbose(boolean value)
      Setzt, ob die aktuell laufende Instanz der Engine verbose Output geben soll.
      Parameters:
      value - ist dieser Wert true, so wird ein äußerst ausführlicher Log über die Funktionalität der Engine geführt. Dies ist hauptsächlich für das Debugging an der Engine selbst notwendig.
      See Also:
    • setDebug

      @API public static void setDebug(boolean value)
      Setzt, ob die Engine im Debug-Modus ausgeführt werden soll.
      Parameters:
      value - ist dieser Wert true, wird die Engine ab sofort im Debug-Modus ausgeführt. Hierdurch werden mehr Informationen beim Ausführen der Engine angegeben, zum Beispiel ein Grafisches Raster und mehr Logging-Informationen. Dies ist hilfreich für Debugging am eigenen Spiel.
      See Also:
    • writeScreenshot

      @API public static void writeScreenshot(String filename)
      Rendert einen Screenshot des aktuellen Spielfensters und speichert das resultierende Bild in einer Datei.
      Parameters:
      filename - Der Name der Datei, in der der Screenshot gespeichert werden soll.