Battle Royale Games Example

Here is an example of a Player class with private fields in the context of a battle royale game:

class Player {
  #kills = 0;  // Private field
  #deaths = 0;  // Private field
  #alive = true;  // Private field

  constructor(name) {
    this.name = name;  // Public field
  }

  // Public method
  getKills() {
    return this.#kills;
  }

  // Public method
  getDeaths() {
    return this.#deaths;
  }

  // Public method
  isAlive() {
    return this.#alive;
  }

  // Public method
  kill() {
    this.#kills++;
  }

  // Public method
  die() {
    this.#deaths++;
    this.#alive = false;
  }
}

const player1 = new Player('John');
const player2 = new Player('Jane');

player1.kill();
player1.kill();
player2.die();

console.log(player1.getKills());  // Output: 2
console.log(player2.getDeaths());  // Output: 1
console.log(player1.isAlive());  // Output: true
console.log(player2.isAlive());  // Output: false

In this example, the Player class has private fields #kills, #deaths, and #alive, as well as public fields name, getKills, getDeaths, isAlive, kill, and die.

The private fields #kills and #deaths are used to track the number of kills and deaths a player has. The private field #alive is used to track whether a player is currently alive or not.

The public methods getKills, getDeaths, and isAlive are used to access the values of the private fields. For example, player1.getKills() returns the number of kills player1 has. The public methods kill and die are used to modify the values of the private fields. For example, calling player1.kill() increments player1's #kills field by 1.

Private fields and methods can be useful for encapsulation, as they allow you to hide implementation details and prevent direct modification of sensitive data. In this case, using private fields to store the number of kills, deaths, and whether a player is alive allows us to ensure that this data is only modified through the appropriate methods, rather than being directly modified by calling code.

Last updated