aboutsummaryrefslogtreecommitdiffstats
path: root/public/projects/js-small-apps/rock-paper-scissors/lib/class-player.js
blob: 8935581e60e6e8e16ddc4f8b16533b3437899d57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/**
 * Player class.
 */
class Player {
  #id;
  #username = "Anonymous";
  #choice = "";
  #score = 0;
  #ia = false;

  /**
   * Initialize a new Player instance.
   * @param {Integer} id - The player id.
   * @param {String} username - The player username.
   * @param {Boolean} ia - True to set player as an IA.
   */
  constructor(id, username, ia) {
    this.#id = id;
    this.#username = username;
    this.#ia = ia;
  }

  get id() {
    return this.#id;
  }

  set username(name) {
    this.#username = name;
  }

  get username() {
    return this.#username;
  }

  set choice(choice) {
    this.#choice = choice;
  }

  set score(score) {
    this.#score = score;
  }

  get choice() {
    return this.#choice;
  }

  get score() {
    return this.#score;
  }

  set ia(boolean) {
    this.#ia = boolean;
  }

  get ia() {
    return this.#ia;
  }
}

export default Player;