Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Scoreboard {
- constructor(x) {
- this.element = document.getElementById(x);
- }
- update(score) {
- let msg = ''
- for (let i in score) {
- //Iterating over own properties only
- if (score.hasOwnProperty(i)) {
- msg += `${i}: ${score[i]}`
- }
- }
- this.element.innerHTML = msg;
- }
- }
- class Player {
- constructor(name) {
- this.name = name;
- this.point = 0;
- }
- play() {
- this.point += 1;
- mediator.played();
- }
- }
- class Mediator {
- constructor(name) {
- this.players = {}
- }
- setup() {
- var players = this.players;
- players.home = new Player('Home');
- players.guest = new Player('Guest');
- }
- played() {
- let players = this.players;
- let score = {
- Home: players.home.point,
- Guest: players.guest.point,
- }
- scoreboard.update(score);
- }
- keypress(e) {
- if (e.which == 49) {
- mediator.players.home.play();
- return;
- }
- if (e.which == 48) {
- mediator.players.guest.play();
- return;
- }
- }
- }
- var mediator = new Mediator();
- var scoreboard = new Scoreboard('result');
- mediator.setup();
- window.onkeypress = mediator.keypress;
- setTimeout(() => {
- window.onkeypress = null;
- alert('Game Over!');
- }, 1e4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement