apoSkunkman.game
Class ApoSkunkmanPanel

java.lang.Object
  extended by java.lang.Thread
      extended by org.apogames.ApoSubGame
          extended by apoSkunkman.ApoSkunkmanGameComponent
              extended by apoSkunkman.game.ApoSkunkmanPanel
All Implemented Interfaces:
java.lang.Runnable

public class ApoSkunkmanPanel
extends ApoSkunkmanGameComponent

eigentliche Spielklasse, die alles handelt und was angezeigt wird

Author:
Dirk Aporius

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ApoSkunkmanPanel(ApoScreen screen)
          Konstruktor
 
Method Summary
 ApoSkunkmanDebug getDebugFrame()
          gibt das Debugfenster zurück
 ApoSkunkmanModelEditor getEditor()
          gibt das Editorobjekt zurück
 ApoSkunkmanLevel getLevel()
          gibt das Levelobjekt zurück
 boolean isEditorMode()
          gibt zurück, ob sich das Spiel gerade im EditorMode befindet oder nicht
 boolean isGameRunning()
          boolean Variable, die angibt ob ein Spiel gerade läuft oder nicht
 boolean isSimulate()
          boolean Variable, die angibt ob ein Spiel gerade simuliert wird oder nicht
 void keyPressed(int keyCode, char keyCharacter)
          wird aufgerufen, wenn eine Tastaturtaste gedrückt wird
 void keyReleased(int keyCode)
          wird aufgerufen, wenn eine Tastaturtaste losgelassen wird
 void load()
          wird beim initialisieren aufgerufen und setzt die Standardwerte für die Variablen
 void loadLevel(java.lang.String s, boolean bEditor)
          Methode zum Laden eines Levels
 void loadPlayer(int player, int ai, boolean bSave)
          laed eine KI, wobei übergeben wird um welchen Spieler es sich handelt und welche KI geladen werden soll
 void loadPlayer(int player, java.lang.String s)
          laedt eine PlayerAI
 void loadReplay()
          Methode zum Laden eines Replays
 void makeBackground(boolean bWithLevel, boolean bGameStart, boolean bAnalysis, boolean bEditor)
          erstellt den kompletten Hintergrund des Spiels
 void mouseDragged(int x, int y, boolean left)
          wird aufgerufen, wenn die Maus bewegt wurde und dabei eine Maustaste gedrückt gehalten wird
 void mouseMoved(int x, int y)
          wird aufgerufen, wenn die Maus bewegt wurde und wertet aus, ob die Maus über einem Button ist oder nicht
 void mousePressed(int x, int y, boolean left)
          wird aufgerufen, wenn eine Maustaste gedrückt wird und überprüft, ob sie über einem Button ist
 void mouseReleased(int x, int y, boolean left)
          wird aufgerufen, wenn eine Maustaste losgelassen wurde und überprüft, ob sie über einem Button ist
und ruft in diesem Fall die setButtonFunction mit der eindeutigen Funktion des Buttons auf
 void renderNamesForLevel(java.awt.Graphics2D g)
          rendert die Namen der Spieler auf den Baumstamm
 void renderPointsForLevel(java.awt.Graphics2D g)
          rendert die Punkte der Spieler auf den Baumstamm
 void saveLevel(java.lang.String s)
          Methode zum Speichern eines Levels
 void saveReplay()
          Methode zum Speichern eines Replays
 void setButtonFunction(java.lang.String function)
          wird aufgerufen, wenn ein Button gedrückt wurde
 void setButtonVisible(boolean[] bVisibile)
          wechselt die Sichtbarkeit der Buttons auf den übergebenen Wert
 void setEditor()
          setzt das Spiel in den Editormodus (mit den jeweiligen Buttons und Anzeigen)
 void setMenu()
          setzt das Spiel in den Menumodus (mit den jeweiligen Buttons und Anzeigen)
 void setSimulation(boolean bSimulation)
           
 void startGame()
          wird aufgerufen, wenn der Start-Button gedrückt wird und startet das Spiel
 void stopGame()
          wird aufgerufen, wenn der Stop-Button gedrückt wird und stoppt das eigentliche Spiel ohne Gewinner
 void think(long delta)
          abstrakte Methode, die die Klasse zur Logikberechnung benutzen soll alle delta Millisekunden
 
Methods inherited from class apoSkunkman.ApoSkunkmanGameComponent
getButtons, getFileChooser, getFileChooserEditor, getFileChooserReplay, getFileFilter, getFileFilterEditor, getFileFilterReplay, getFPS, getImages, isShowFPS, renderButtons, setButtons, setShowFPS
 
Methods inherited from class org.apogames.ApoSubGame
addFrame, end, getKeyboard, getNextID, getRenderTime, getScreen, getThinkTime, init, render, run, setShouldRepaint, setShouldThink, shouldRepaint, shouldThink
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ApoSkunkmanPanel

public ApoSkunkmanPanel(ApoScreen screen)
Konstruktor

Parameters:
screen - : Screenobjekt
Method Detail

load

public void load()
wird beim initialisieren aufgerufen und setzt die Standardwerte für die Variablen


getDebugFrame

public final ApoSkunkmanDebug getDebugFrame()
gibt das Debugfenster zurück

Returns:
gibt das Debugfenster zurück

makeBackground

public void makeBackground(boolean bWithLevel,
                           boolean bGameStart,
                           boolean bAnalysis,
                           boolean bEditor)
erstellt den kompletten Hintergrund des Spiels


setMenu

public void setMenu()
setzt das Spiel in den Menumodus (mit den jeweiligen Buttons und Anzeigen)


getEditor

public final ApoSkunkmanModelEditor getEditor()
gibt das Editorobjekt zurück

Returns:
gibt das Editorobjekt zurück

setEditor

public void setEditor()
setzt das Spiel in den Editormodus (mit den jeweiligen Buttons und Anzeigen)


isEditorMode

public boolean isEditorMode()
gibt zurück, ob sich das Spiel gerade im EditorMode befindet oder nicht

Returns:
TRUE, gerade im Editormode, ansonsten FALSE

getLevel

public final ApoSkunkmanLevel getLevel()
gibt das Levelobjekt zurück

Returns:
gibt das Levelobjekt zurück

isGameRunning

public final boolean isGameRunning()
boolean Variable, die angibt ob ein Spiel gerade läuft oder nicht

Returns:
TRUE, Spiel läuft gerade, FALSE Spiel läuft nicht

isSimulate

public final boolean isSimulate()
boolean Variable, die angibt ob ein Spiel gerade simuliert wird oder nicht

Returns:
TRUE, Spiel wird gerade simuliert, FALSE Spiel läuft nicht

setSimulation

public final void setSimulation(boolean bSimulation)

startGame

public void startGame()
wird aufgerufen, wenn der Start-Button gedrückt wird und startet das Spiel


stopGame

public void stopGame()
wird aufgerufen, wenn der Stop-Button gedrückt wird und stoppt das eigentliche Spiel ohne Gewinner


setButtonVisible

public void setButtonVisible(boolean[] bVisibile)
wechselt die Sichtbarkeit der Buttons auf den übergebenen Wert

Parameters:
bVisibile - : Array mit boolean Variablen, ob ein Button sichtbar ist oder nicht

keyPressed

public void keyPressed(int keyCode,
                       char keyCharacter)
Description copied from class: ApoSkunkmanGameComponent
wird aufgerufen, wenn eine Tastaturtaste gedrückt wird

Overrides:
keyPressed in class ApoSkunkmanGameComponent

keyReleased

public void keyReleased(int keyCode)
Description copied from class: ApoSkunkmanGameComponent
wird aufgerufen, wenn eine Tastaturtaste losgelassen wird

Overrides:
keyReleased in class ApoSkunkmanGameComponent

mouseDragged

public void mouseDragged(int x,
                         int y,
                         boolean left)
Description copied from class: ApoSkunkmanGameComponent
wird aufgerufen, wenn die Maus bewegt wurde und dabei eine Maustaste gedrückt gehalten wird

Overrides:
mouseDragged in class ApoSkunkmanGameComponent
Parameters:
x - : X-Wert der Maus (im Frame gesehen)
y - : Y-Wert der Maus (im Frame gesehen)
left - : TRUE, linke Maustaste gedrückt, ansonsten FALSE

mouseMoved

public void mouseMoved(int x,
                       int y)
Description copied from class: ApoSkunkmanGameComponent
wird aufgerufen, wenn die Maus bewegt wurde und wertet aus, ob die Maus über einem Button ist oder nicht

Overrides:
mouseMoved in class ApoSkunkmanGameComponent
Parameters:
x - : X-Wert der Maus (im Frame gesehen)
y - : Y-Wert der Maus (im Frame gesehen)

mousePressed

public void mousePressed(int x,
                         int y,
                         boolean left)
Description copied from class: ApoSkunkmanGameComponent
wird aufgerufen, wenn eine Maustaste gedrückt wird und überprüft, ob sie über einem Button ist

Overrides:
mousePressed in class ApoSkunkmanGameComponent
Parameters:
x - : X-Wert der Maus (im Frame gesehen)
y - : Y-Wert der Maus (im Frame gesehen)
left - : TRUE, linke Maustaste gedrückt, ansonsten FALSE

mouseReleased

public void mouseReleased(int x,
                          int y,
                          boolean left)
Description copied from class: ApoSkunkmanGameComponent
wird aufgerufen, wenn eine Maustaste losgelassen wurde und überprüft, ob sie über einem Button ist
und ruft in diesem Fall die setButtonFunction mit der eindeutigen Funktion des Buttons auf

Overrides:
mouseReleased in class ApoSkunkmanGameComponent
Parameters:
x - : X-Wert der Maus (im Frame gesehen)
y - : Y-Wert der Maus (im Frame gesehen)
left - : TRUE, linke Maustaste gedrückt, ansonsten FALSE

setButtonFunction

public void setButtonFunction(java.lang.String function)
Description copied from class: ApoSkunkmanGameComponent
wird aufgerufen, wenn ein Button gedrückt wurde

Specified by:
setButtonFunction in class ApoSkunkmanGameComponent
Parameters:
function - : Funktion, die der Button ausführen soll und ihn einzigartig macht

loadPlayer

public void loadPlayer(int player,
                       java.lang.String s)
laedt eine PlayerAI

Parameters:
player - = fuer welchen Spieler
s - = falls != NULL dann lade den uebergeben String
Throws:
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException

loadPlayer

public void loadPlayer(int player,
                       int ai,
                       boolean bSave)
laed eine KI, wobei übergeben wird um welchen Spieler es sich handelt und welche KI geladen werden soll

Parameters:
player - : Integervariable die angibt, welcher Spieler es ist
ai - : Integervariable die angibt, welche KI geladen werden soll

saveReplay

public void saveReplay()
Methode zum Speichern eines Replays


loadReplay

public void loadReplay()
Methode zum Laden eines Replays


saveLevel

public void saveLevel(java.lang.String s)
Methode zum Speichern eines Levels


loadLevel

public void loadLevel(java.lang.String s,
                      boolean bEditor)
Methode zum Laden eines Levels

Parameters:
übergebener - Pfad, wenn NULL dann showOpenDialoag

think

public void think(long delta)
Description copied from class: ApoSkunkmanGameComponent
abstrakte Methode, die die Klasse zur Logikberechnung benutzen soll alle delta Millisekunden

Specified by:
think in class ApoSkunkmanGameComponent
Parameters:
delta - : Zeit die vergangen ist in Millieskunden seit dem letzten Aufruf

renderNamesForLevel

public void renderNamesForLevel(java.awt.Graphics2D g)
rendert die Namen der Spieler auf den Baumstamm

Parameters:
g - : Graphicsobjekt

renderPointsForLevel

public void renderPointsForLevel(java.awt.Graphics2D g)
rendert die Punkte der Spieler auf den Baumstamm

Parameters:
g - : Graphicsobjekt