Showing game leaderboard when Trivia game is stopped.

This commit is contained in:
ThePendulum 2022-07-15 17:46:12 +02:00
parent f1c5b8afda
commit 91c99428ff
1 changed files with 13 additions and 11 deletions

View File

@ -33,6 +33,16 @@ function scoreRound(context, round) {
}).filter(Boolean).join(', ');
}
function getLeaders() {
return Object.entries(game.points).sort(([, scoreA], [, scoreB]) => scoreB - scoreA).map(([username, score], index) => {
if (index === 0) {
return `**@${username}** with **${score}** points`;
}
return `**@${username}** with **${score}** points`;
}).join(', ');
}
async function playRound(context, round = 0) {
const ac = new AbortController(); // eslint-disable-line no-undef
const now = new Date();
@ -74,7 +84,7 @@ async function playRound(context, round = 0) {
}
if (game.stopped) {
context.sendMessage(`The game was stopped by @${game.stopped.username}. The answer to the last question was: **${question.answer}**`, context.room.id);
context.sendMessage(`The game was stopped by @${game.stopped.username}. The answer to the last question was: **${question.answer}**. Best players: ${getLeaders()}`, context.room.id);
game = null;
return;
@ -98,7 +108,7 @@ async function playRound(context, round = 0) {
await timers.setTimeout(5000);
if (game.stopped) {
context.sendMessage(`The game was stopped by ${game.stopped.username}`, context.room.id);
context.sendMessage(`The game was stopped by @${game.stopped.username}. The answer to the last question was: **${question.answer}**. Best players: ${getLeaders()}`, context.room.id);
game = null;
return;
@ -110,15 +120,7 @@ async function playRound(context, round = 0) {
await timers.setTimeout(2000);
const leaders = Object.entries(game.points).sort(([, scoreA], [, scoreB]) => scoreB - scoreA).map(([username, score], index) => {
if (index === 0) {
return `**@${username}** with **${score}** points`;
}
return `**@${username}** with **${score}** points`;
}).join(', ');
context.sendMessage(`That's the end of the game! Best players: ${leaders}`, context.room.id);
context.sendMessage(`That's the end of the game! Best players: ${getLeaders()}`, context.room.id);
game = null;
}