|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
public class Spiel
Spiel ist die spielsteurnde Klasse
Field Summary | |
---|---|
protected ARaum |
activeRoom
|
protected int |
anzahl_menueelemente
|
protected boolean |
betretbar
|
protected Sprechblase |
blase
|
protected static int |
breite
|
protected boolean |
changedRoom
|
protected static Konfiguration |
config
|
protected String |
frueherer_Spielstatus
|
protected static int |
hoehe
|
protected int |
index
|
protected Entity |
interact
|
protected ea.Text |
interactText
|
protected Inventar |
inventar
|
protected ea.Knoten |
kno
|
protected Lehrer |
lehrer
|
protected ea.Manager |
manager
|
protected Menue |
menue
|
protected ea.Rechteck |
menuekasten
|
protected int |
menuepfeil_position
|
protected boolean |
moving
|
protected int |
nextDoor
|
protected String[] |
personenFeld
|
protected int |
personenzahl
|
protected Pikachu |
pikachu
|
protected ea.Sound |
playingSong
|
protected boolean |
pressed26
|
protected boolean |
pressed27
|
protected boolean |
pressed28
|
protected boolean |
pressed29
|
protected boolean |
PREVENT_MENUE
|
protected Random |
random
|
protected Random |
randomSong
|
protected int |
songnumber
|
protected int |
songproof
|
protected Spieler |
spieler
|
protected ea.Figur[] |
spielmenuefiguren
|
protected String[] |
spielmenuestrings
|
protected ea.Text[] |
spielmenuetextobjekte
|
protected static String[] |
spielstaende
|
protected String |
spielstatus
|
protected ea.Knoten |
spielumgebung
|
protected static int |
spielzahl
|
protected boolean |
TICK_AND_ANIM_PAUSED
|
protected int |
zaehler
|
protected int |
zaehler2
|
protected int |
zelleBetreten
|
Fields inherited from class |
---|
animationsManager, audioManager, cam, pfadtrenner, statischeWurzel, wurzel |
Constructor Summary | |
---|---|
Spiel()
Spiel Constructor |
Method Summary | |
---|---|
int |
blickAnpassen(Tuer neueTuer)
blickAnpassen passt den Blick beim Eintreten in den neuen Raum an |
void |
changeRoom()
changeRoom Wechselt den Raum Ablauf: 1.Ueberprueft ob sich in der aktuellen Zelle eine Tuer befindet und loescht alle vorhandenen Personen-->code: changeRoom2() 2.Ruft intaractDoor fuer die aktuelle Zelle auf (Rueckgabe: String zielraum) -->code: changeRoom2() 3.Je nach Zielraum wird die Zieltuer des neuen Raumes und der neue Raum festgelegt -->code: changeRoom2(), changeRoom3() (aus Gruenden der korrekten Darstellung muessen Raum und Spieler abgemeldet und neu eingebungden werden 4.Hat eine Raumaenderung stattgefunden so wird die aktuelle Musik angehalten, der Tuersound abgespielt und nach einer bestimmten Zeit ein neuer Song abgespielt -->code: changeRoom3() |
void |
changeRoom2()
Method changeRoom2 Dokumentation: Siehe changeRoom() |
void |
changeRoom3()
Method changeRoom3 Dokumentation: Siehe changeRoom() |
void |
changeSong()
Method changeSong Der Song wird gewechselt |
boolean |
errechneBetretbar(int richtung,
int posx,
int posy)
errechneBetretbar gibt je nachdem welche blickrichtung die Person besitzt an ob die Zelle zu der sie blickt betretbar ist Achtung: In TasteReagiebar wird die Figur erst gedreht und dann wird geprueft ob die Zelle zu der die Figur blickt betretbar ist Wird keine Pfeiltaste gedrueckt wird die Methode nicht aufgerufen |
String |
figurErmitteln()
Method figurErmitteln |
void |
interactText(int direction)
Method interactText: Wird bei jeder Bewegung des Spielers aufgerufen. |
static void |
main(String[] args)
|
void |
moveAround()
moveAround wird durch den Ticker in regelmäßigen Abständen aufgerufen Bei jedem Aufruf wird für jede in personenFeld hinterlegt figur eine Zufallzahl bestimmt Liegt diese Zahl im Bereich von 0 bis 3 wird die Person bewegt andernfalls passiert nichts Die Wahrscheinlichkeit, dass sich eine Person bewegt kann durch den Bereich aus dem die Zufallszahl ermittelt wird beinflusst werden - Je größer die Zahl, dest kleiner die Wahrscheinlichkeit, dass sich die Person bewegt - Je kleiner die Zahl, dest größer die Wahrscheinlichkeit, dass sich die Person bewegt Achtung: Die kleinsmögliche Zahl ist 4 (Bewegungswahrscheinlichkeit = 100%). |
void |
onCloseGameMenu()
Methode onCloseGameMenu Diese Methode wird aufgerufen, wenn das ingame-Spielmenue geschlossen werden soll. |
void |
onCloseInventory()
|
void |
onDisableGame()
Method onDisableGame Methode fuer die Rueckkehr zum Hauptmenue Spielelemente werden geloescht, Menuetexte und neue Musik eingefuegt |
void |
onEnableGame()
Method onEnableGame Methode zum Spielstart Texte werden geloescht, Testraum und neue Musik eingefuegt |
void |
onInputToGameMenu(int input)
Methode onInputToGameMenu Diese Methode wird in tastereagieren(int code) aufgerugfen. |
void |
onOpenGameMenu()
Methode spielmenue_starten Startet das Ingame-Spielmenue. |
void |
onOpenInventory()
|
void |
personenBewegen(int direction,
Personen person,
String figurUp,
String figurRight,
String figurDown,
String figurLeft,
int range1,
int range2,
int range3,
int range4)
personenBewegen regelt die Bewegen und das Drehen von Objekten die von der Klasse Personen erben |
void |
personenLoeschen()
personenLoeschen loescht alle in einem Raum vorhandenen Personen Es werden alle in personenFeld geespeicherten String-Variablen aufgerufen und dann entsprechen geloescht |
void |
personErstellen(String name,
int index,
int posx,
int posy,
int ausrichtung,
String figurenpfad)
personErstellen: Erstellt eine Figur für die Übergebenen Parameter name wird mit den Namen aus der Liste verglichen und die jewilige Personen wird erzeugt, in personenFeld gespeichert und grafisch eingebunden |
void |
songAbspielen()
Method songApspielen Es wird mit dem Zufallsgenerator eine Songnummer bestimmt und der ausgewaehlte Song wird abgespielt Bevor die Zahl durch den Zufallsgenerator bestimmt wird, wird ueberprueft ob eine ander Zahl als die vorherige ermittelt wurde, da sonst kein Sound abgespielt wird |
void |
songAnhalten()
Method songAnhalten Haelt den gerade spielenden Song an |
void |
spielstaendeLaden()
Method spielstaendeLaden: Laedt die Spielstaende aus Spielstaende.eaa und uebertragt sie in spielstaende[] |
void |
sprechblase_entfernen()
Löscht die aktuelle Sprechblase. |
void |
sprechblase_erschaffen(String zeile1)
Erzeugt eine neue Sprechblase (vlg. |
void |
sprechblase_erschaffen(String zeile1,
String zeile2)
Erzeugt eine neue Sprechblase (vlg. |
void |
sprechblase_erschaffen(String zeile1,
String zeile2,
String zeile3)
Erzeugt eine neue Sprechblase (vlg. |
void |
sprechblase_erschaffen(String zeile1,
String zeile2,
String zeile3,
String zeile4)
Erzeugt eine neue Sprechblase (vlg. |
void |
sprechblase_erschaffen(String zeile1,
String zeile2,
String zeile3,
String zeile4,
String zeile5)
Erzeugt eine neue Sprechblase (vlg. |
void |
tasteGedrueckt(int code)
tasteGedrueckt funktioniert wie tasteReagierbar enhaelt aber einen mit 50ms getakteten Ticker der bei gedrueckter Taste aufgerufen wird Ein zaehler laeuft mit um die Aufrufe auf 250 ms zu begrenzen |
void |
tasteLosgelassen(int code)
tasteLosgelassen zaehler aus tasteGedrueckt wird für den nächsten Tastenanschlag zurückgesetzt Fals bei spielstatus "inGame" der spieler gesteuert wird, wird seine Laufanimation beendet |
void |
tasteReagieren(int Code)
|
void |
tick()
tick Wartet ab bis der Tuer-Sound abgespielt wurde |
Methods inherited from class |
---|
beenden, eingabeFordern, fensterFontSetzen, fensterFontSetzen, fensterGroesse, frage, highscoreAnzeigen, highscoreAnzeigen, hintergrundSetzen, mausAnmelden, nachrichtSchicken, reagieren, rechenintensiveArbeitSetzen, sicherheitsFrage, tastenGedruecktReagierbarAnmelden, tastenLosgelassenReagierbarAnmelden, tastenReagierbarAnmelden, ueberblendeSetzen, ueberblendeSetzen, warten, zufallsBoolean, zufallsZahl |
Methods inherited from class |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected ARaum activeRoom
protected int anzahl_menueelemente
protected boolean betretbar
protected Sprechblase blase
protected static int breite
protected boolean changedRoom
protected static Konfiguration config
protected String frueherer_Spielstatus
protected static int hoehe
protected int index
protected Entity interact
protected ea.Text interactText
protected Inventar inventar
protected ea.Knoten kno
protected Lehrer lehrer
protected ea.Manager manager
protected Menue menue
protected ea.Rechteck menuekasten
protected int menuepfeil_position
protected boolean moving
protected int nextDoor
protected String[] personenFeld
protected int personenzahl
protected Pikachu pikachu
protected ea.Sound playingSong
protected boolean pressed26
protected boolean pressed27
protected boolean pressed28
protected boolean pressed29
protected boolean PREVENT_MENUE
protected Random random
protected Random randomSong
protected int songnumber
protected int songproof
protected Spieler spieler
protected ea.Figur[] spielmenuefiguren
protected String[] spielmenuestrings
protected ea.Text[] spielmenuetextobjekte
protected static String[] spielstaende
protected String spielstatus
protected ea.Knoten spielumgebung
protected static int spielzahl
protected boolean TICK_AND_ANIM_PAUSED
protected int zaehler
protected int zaehler2
protected int zelleBetreten
Constructor Detail |
---|
public Spiel()
Method Detail |
---|
public int blickAnpassen(Tuer neueTuer)
public void changeRoom()
public void changeRoom2()
public void changeRoom3()
public void changeSong()
public boolean errechneBetretbar(int richtung, int posx, int posy)
public String figurErmitteln()
public void interactText(int direction)
public static void main(String[] args)
public void moveAround()
public void onCloseGameMenu()
public void onCloseInventory()
public void onDisableGame()
public void onEnableGame()
public void onInputToGameMenu(int input)
input
- in tastenreagierbar uebergeben. 26 entspricht dem Pfeil nach oben, 28 nach unten.public void onOpenGameMenu()
public void onOpenInventory()
public void personenBewegen(int direction, Personen person, String figurUp, String figurRight, String figurDown, String figurLeft, int range1, int range2, int range3, int range4)
direction:
- gibt die Richtung an in die sich die Figur bewegen sollperson:
- Objekt, dass bewegt werden soll (z.B. Spieler)figurUp,figurRight,
- figurDown, figurLeft: Hier müssen die in config festgelegten Figuren fuer jede Richtung angegeben werdenrange1,
- range2, range3, range4: Gibt an wie weit sich die Person in die jeweiligen Richtung 1, 2, 3 und 4 bewegen können
(Diese Angabe sollte immer innerhalb der Zellen von activeRoom liegen; um den ganzen Raum begehbar zu machen '0, activeRoom.breite, activeRoom.hoehe, 0' einfügen
Ablauf:
1. Die Blickrichtung wird geprüft; Entspricht sie nicht der Bewegungsrichtung so wird sie mit der Methode changeFigur in Entity angepasst
2. GetNextPosition ermittelt die Positions- und Blickrichtungsaenderung
3. Danach wird ueberprueft ob eine Raumaenderung stattfinden soll (siehe changeRoom())
4. Liegen die nun festgelegten in dem Bewegungsbereich der Person und ist die aufgerufene Zelle betretbar so wird die Spielfigur bewegt
Wenn die Person der Spieler ist wird zu Beginn der interactText gelöscht(falls er anzeigt wird)
Danach wird der Text der Zelle zu der der Spieler blicht(falls vorhanden) aufgerufen und angezeigtpublic void personenLoeschen()
public void personErstellen(String name, int index, int posx, int posy, int ausrichtung, String figurenpfad)
public void songAbspielen()
public void songAnhalten()
public void spielstaendeLaden()
public void sprechblase_entfernen()
public void sprechblase_erschaffen(String zeile1)
public void sprechblase_erschaffen(String zeile1, String zeile2)
public void sprechblase_erschaffen(String zeile1, String zeile2, String zeile3)
public void sprechblase_erschaffen(String zeile1, String zeile2, String zeile3, String zeile4)
public void sprechblase_erschaffen(String zeile1, String zeile2, String zeile3, String zeile4, String zeile5)
public void tasteGedrueckt(int code)
tasteGedrueckt
in interface ea.TastenGedruecktReagierbar
public void tasteLosgelassen(int code)
tasteLosgelassen
in interface ea.TastenLosgelassenReagierbar
public void tasteReagieren(int Code)
tasteReagieren
in class ea.Game
public void tick()
tick
in interface ea.Ticker
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |