scoreboard.ts 897 B

12345678910111213141516171819202122232425262728
  1. import {Result} from './result';
  2. import * as _ from 'lodash';
  3. export class Scoreboard {
  4. private results: Result[] = [];
  5. addResult(newResult: Result): void {
  6. this.results.push(newResult);
  7. let allCaps: string = _.upperCase(newResult.playerName);
  8. console.log(`${allCaps} - ${newResult.score}`);
  9. }
  10. updateScoreboard(): void {
  11. let output: string = '<h2>Scoreboard</h2>';
  12. // Loop over results and create HTML for the scoreboard.
  13. for (let index = 0; index < this.results.length; index++) {
  14. let result: Result = this.results[index];
  15. output += '<h4>';
  16. output += result.playerName + ': ' + result.score + '/' + result.problemCount + ' for ' + result.factor;
  17. output += '</h4>';
  18. }
  19. // Add the updated scoreboard to the page.
  20. let scoresElement: HTMLElement = document.getElementById('scores')!;
  21. scoresElement.innerHTML = output;
  22. }
  23. }