[7] Den temporären Highscore ausgeben

Hey there.
Cool, dass ihr wieder da seid. Ihr erinnert euch noch an den letzten Blog Eintrag oder?
Im letzten Blog Eintrag habe ich mich an die Umsetzung eines temporären Highscores gemacht.
Das Ganze hat auch super geklappt. Doof war nur, dass man den Highscore noch nicht sehen konnte.

coffeeGreen

Wie könnte man den Highscore sichtbar machen?
Was hälst du von meinem Vorschlag: Der Appbot schickt dem User der gerade eine Frage richtig beantwortet hat eine private Nachricht mit seinem Highscore? Außerdem könnte der Appbot, nachdem er den User gelobt hat, feierlich im Channel verkünden, was der neue Highscore des Users ist.

// Das Objekt in dem ich die temporären Highscores abspeichere.
var tempScore = {};

Im Objekt tempScore speichere ich den Highscore für jeden User. Das mache ich mithilfe der individuellen Id jedes Users.
Genauso wie man den Highscore eines Users verändern kann, kann man ihn auch auslesen:

// So liest man den Highscore eines Users aus.
var highscoreDesUsers = tempScore[user.getUserId()]

Zum Glück wusste ich noch aus alten Blogbeiträgen wie man mit dem Appbot eine private oder öffentliche Nachricht verschickt:

// Der Appbot gibt den Highscore ein mal privat und ein mal öffentlich aus.
function sendScore(user)
{
user.sendPrivateMessage('Dein aktueller Highscore beträgt ' + tempScore[user.getUserId()] + ' Punkte.');
appBot.sendPublicMessage(user + ' hat jetzt einen Highscore von ' + tempScore[user.getUserId()] + ' Punkten.');
}

Jetzt musste ich die Funktion eigentlich nur noch zur richtigen Zeit aufrufen.
Also genau dann wenn der User eine Frage richtig beantwortet hat und sein Highscore aktualisiert wurde:

// Hier wird bei richtiger Antwort die Funktion sendScore(user) aufgerufen.
App.onPublicMessage = function(message)
{
var messageText = message.getText();
if(messageText.indexOf(solution)>-1)
{
addTempScore(message.getAuthor(), 1);
message.getAuthor().sendPrivateMessage('Super gemacht. Du hast die Aufgabe geloest!');
appBot.sendPublicMessage('_______ ' + message.getAuthor() + ' hat die Aufgabe geloest _______');
sendScore(message.getAuthor());
}
else
{
}
};

Das wars auch schon 🙂
Aber wisst ihr was mich noch stört? Das Aussehen meiner App.
Irgendwie kommt die Highscoreausgabe noch nicht richtig zur Geltung.
Ich weiß… ihr wolltet schon vor langer Zeit, dass ich etwas dagegen mache.
Im nächsten Blogeintrag ist es endlich soweit.
Dann kümmere ich mich um die Gestaltung der Nachrichten des Appbots.

Bis dann.
Liebe Grüße, MarvinDerPraktikant.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s