|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object greenfoot.UserInfo
public class UserInfo
Die Klasse UserInfo kann zum permanenten Speichern von Daten auf einem Server und zum Teilen dieser
Daten mit anderen Nutzern benutzt werden, falls das Szenario auf der offiziellen Greenfoot Webseite ausgeführt wird.
Beispielsweise können mit dieser Klasse High-Score Tabellen implementiert werden.
Der Speicher kann nur von registrierten Mitgliedern benutzt werden. Deshalb muss man immer zunächst mit
UserInfo.isStorageAvailable()
prüfen, ob der Speicher genutzt werden kann.
Zur Verdeutlichung hier eine mögliche Implementation eines Highscores:
if (UserInfo.isStorageAvailable()) {
UserInfo myInfo = UserInfo.getMyInfo();
if (newScore > myInfo.getScore()) {
myInfo.setScore(newScore);
myInfo.store(); // Speichern auf dem Server
}
}
getMyInfo()
, die Informationen über den aktuellen Benutzer liefert, getTop(10)
, die die Besten
zurückliefert, und getNearby(10)
, welche vergleichbare Nutzer zurückliefert.
Field Summary | |
---|---|
static int |
NUM_INTS
Die Anzahl der speicherbaren Integer Zahlen. |
static int |
NUM_STRINGS
Die Anzahl der speicherbaren Strings. |
static int |
STRING_LENGTH_LIMIT
Die maximale Länge eines zu speichernden Strings. |
Constructor Summary | |
---|---|
UserInfo()
|
Method Summary | |
---|---|
int |
getInt(int index)
Gibt den Integer am entsprechenden Index (0 bis NUM_INTS -1, inklusiv) zurück. |
static UserInfo |
getMyInfo()
Gibt die gespeicherten Daten für den Benutzer zurück. |
static List |
getNearby(int maxAmount)
Gibt eine sortierte Liste mit UserInfo Objekten zurück, welche den aktuellen Benutzer umgeben. |
int |
getRank()
Gibt den aktuellen Rang des Benutzers für dieses Szenario zurück. |
int |
getScore()
Gibt den Spielstand des Benutzers. |
String |
getString(int index)
Gibt den String am entsprechenden Index (0 bis NUM_STRINGS -1, inklusiv) zurück. |
static List |
getTop(int maxAmount)
Gibt eine sortierte Liste mit UserInfo Objekten zurück, welche die Benutzer mit der besten Score beschreiben. |
GreenfootImage |
getUserImage()
Gibt das Benutzerbild zurück. |
String |
getUserName()
Gibt den Benutzernamen des zum Speicher gehörenden Benutzers an. |
static boolean |
isStorageAvailable()
Prüft, ob Speicher verfügbar ist. |
void |
setInt(int index,
int value)
Setzt den Wert value am entsprechenden Index (0 bis NUM_INTS -1, inklusiv). |
void |
setScore(int score)
Setzt den Spielstand des Benutzers. |
void |
setString(int index,
String value)
Setzt den String value am entsprechenden Index (0 bis NUM_STRINGS -1, inklusiv). |
boolean |
store()
Speichert die Daten auf dem Server. |
Methods inherited from class |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int NUM_INTS
Field values
,
Constant Field Valuespublic static final int NUM_STRINGS
Field values
,
Constant Field Valuespublic static final int STRING_LENGTH_LIMIT
Field values
,
Constant Field ValuesConstructor Detail |
---|
public UserInfo()
Method Detail |
---|
public int getInt(int index)
public static UserInfo getMyInfo()
null
zurück, falls:
null
abfangen können.
null
falls ein Problem vorliegt.public static List getNearby(int maxAmount)
getScore()
absteigend sortiert. Der Parameter bietet die Möglichkeit die maximale Länge der
zurückgegebenen Liste zu bestimmen. Falls euer Szenario viele Benutzerdaten gespeichert hat, kann
es sowohl zeitintensiv als auch trafficintensiv sein, alle Benutzerdaten zu empfangen. Meistens werden außerdem
weniger Benutzerdaten benötigt.
getNearby(7)
eine Liste zurückgeliefert, in der
das UserInfo Objekt des aktuellen Benutzers nicht mittig, sondern relativ weit vorne liegt.
setScore(score)
und store()
speichern und mittels getNearby(10)
den Punktestand der zehn vergleichbarsten Benutzer erfragen.
null
zurück, falls:
null
verarbeiten können.
maxAmount
- Die maximale Anzahl an zu empfangenen UserInfo Objekten. Das Übergeben von 0 oder einer
negativen Zahl liefert sämtliche Benutzerdaten zurück, beachte allerdings den Hinweis weiter oben.
null
, falls ein Problem vorliegt.public int getRank()
public int getScore()
public String getString(int index)
public static List getTop(int maxAmount)
getScore()
absteigend sortiert. Der Parameter bietet die Möglichkeit die maximale Länge der
zurückgegebenen Liste zu bestimmen. Falls euer Szenario viele Benutzerdaten gespeichert hat, kann
es sowohl zeitintensiv als auch trafficintensiv sein, alle Benutzerdaten zu empfangen. Meistens werden außerdem
weniger Benutzerdaten benötigt.
setScore(score)
und store()
speichern und mittels getTop(10)
die zehn besten Benutzer erfragen.
null
zurück, falls:
null
verarbeiten können.
maxAmount
- Die maximale Anzahl an zu empfangenen UserInfo Objekten. Das Übergeben von 0 oder einer
negativen Zahl liefert sämtliche Benutzerdaten zurück, beachte allerdings den Hinweis weiter oben.
null
, falls ein Problem vorliegt.public GreenfootImage getUserImage()
public String getUserName()
public static boolean isStorageAvailable()
false
zurückliefert, sollte das Szenario ohne Speichernutzung fortfahren.
public void setInt(int index, int value)
value
am entsprechenden Index (0 bis NUM_INTS -1, inklusiv).
store()
aufgerufen werden.
public void setScore(int score)
if (latestScore > userData.getScore())
{
userData.setScore(latestScore);
}
Andernfalls wird jeder vorherige Wert überschrieben.
store()
aufgerufen werden.
public void setString(int index, String value)
value
am entsprechenden Index (0 bis NUM_STRINGS -1, inklusiv).
Das Übergeben von null
als Wert erzeugt einen leeren String. Der übergebene String
value
darf maximal STRING_LENGTH_LIMIT Zeichen lang sein.
store()
aufgerufen werden.
public boolean store()
getMyData()
empfangen worden sind). Das Speichern von Daten für fremde Benutzer wird nicht
funktionieren.
true
, falls erfolgreich gespeichert wurde, false
, falls ein Problem vorliegt
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |