Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. class Scoreboard {
  2. constructor(x) {
  3. this.element = document.getElementById(x);
  4. }
  5. update(score) {
  6. let msg = ''
  7. for (let i in score) {
  8. //Iterating over own properties only
  9. if (score.hasOwnProperty(i)) {
  10. msg += `${i}: ${score[i]}`
  11. }
  12. }
  13. this.element.innerHTML = msg;
  14. }
  15. }
  16. class Player {
  17. constructor(name) {
  18. this.name = name;
  19. this.point = 0;
  20. }
  21. play() {
  22. this.point += 1;
  23. mediator.played();
  24. }
  25. }
  26. class Mediator {
  27. constructor(name) {
  28. this.players = {}
  29. }
  30. setup() {
  31. var players = this.players;
  32. players.home = new Player('Home');
  33. players.guest = new Player('Guest');
  34. }
  35. played() {
  36. let players = this.players;
  37. let score = {
  38. Home: players.home.point,
  39. Guest: players.guest.point,
  40. }
  41. scoreboard.update(score);
  42. }
  43. keypress(e) {
  44. if (e.which == 49) {
  45. mediator.players.home.play();
  46. return;
  47. }
  48. if (e.which == 48) {
  49. mediator.players.guest.play();
  50. return;
  51. }
  52. }
  53. }
  54. var mediator = new Mediator();
  55. var scoreboard = new Scoreboard('result');
  56. mediator.setup();
  57. window.onkeypress = mediator.keypress;
  58. setTimeout(() => {
  59. window.onkeypress = null;
  60. alert('Game Over!');
  61. }, 1e4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement